CodeForces 315B Sereja and Array
大水题不解释。
1 #include<stdio.h> 2 #include<iostream> 3 using namespace std; 4 5 #include<math.h> 6 #include<algorithm> 7 #include<string.h> 8 #include<stdlib.h> 9 #include<vector> 10 #include<set> 11 #include<map> 12 #include<stack> 13 #include<string> 14 #include<queue> 15 16 #define repA(p,q,i) for( int (i)=(p); (i)!=(q); ++(i) ) 17 #define repAE(p,q,i) for( int (i)=(p); (i)<=(q); ++(i) ) 18 #define repD(p,q,i) for( int (i)=(p); (i)!=(q); --(i) ) 19 #define repDE(p,q,i) for( int (i)=(p); (i)>=(q); --(i) ) 20 #define range 100010 21 22 int n,m; 23 int ti, vi, xi, yi, qi; 24 int totalAdd; 25 int a[range]; 26 27 int main() 28 { 29 scanf("%d%d",&n,&m); 30 repAE(1,n,i) scanf("%d",&a[i]); 31 totalAdd=0; 32 while(m--) 33 { 34 scanf("%d",&ti); 35 if(ti == 1) 36 { 37 scanf("%d%d",&vi,&xi); 38 a[vi] = (-totalAdd) + xi; 39 } 40 41 else if(ti == 2) 42 { 43 scanf("%d",&yi); 44 totalAdd += yi; 45 } 46 47 else if(ti == 3) 48 { 49 scanf("%d",&qi); 50 printf("%d\n",a[qi]+totalAdd); 51 } 52 } 53 //while(1); 54 return 0; 55 }
To Be The Best Of Yourself