NYOJ 288

View Code
 1 #include<stdio.h>
2
3 int a[1000001];
4
5 int main()
6 {
7 int i;
8 int n,c,q,x,y,z,t;
9 scanf("%d%d%d",&n,&c,&q);
10 while(c--)
11 {
12 scanf("%d%d%d",&x,&y,&z);
13 a[x]+=z;
14 a[y+1]-=z;
15 }
16
17 for(i=1;i<=n;++i)//求出各个人的功劳
18 {
19 a[i]+=a[i-1];
20 }
21 for(i=1;i<=n;++i)//求出前 n个人的功劳之和
22 {
23 a[i]+=a[i-1];
24 a[i]%=10003;
25 }
26 /* //把上边两个 for 循环缩写成这样为什么不对
27 t=0;
28 for(i=1;i<=n;++i)
29 {
30 a[i]+=t;
31 t=a[i];
32 a[i]+=a[i-1];
33 a[i]%=10003;
34 }
35 */
36 while(q--)
37 {
38 scanf("%d%d",&x,&y);
39 printf("%d\n",(a[y]-a[x-1]+10003)%10003);
40 }
41 scanf("%d",&n);
42 return 0;
43 }

 

posted @ 2012-04-08 21:39  知行执行  阅读(181)  评论(0编辑  收藏  举报