/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / uva / uvalive / spoj), 3235 (lightoj) /// mail: raihanruhin@ (yahoo / gmail / facebook) /// blog: ruhinraihan.blogspot.com #include<bits/stdc++.h> using namespace std; #define SET(a) memset(a,-1,sizeof(a)) #define CLR(a) memset(a,0,sizeof(a)) #define PI acos(-1.0) #define MOD 1000000007 #define MX 200010 int tree[MX]; void update(int x, int val) { while(x<=200000) { tree[x]+=val; x+=(x & -x); } return; } int read(int x) { int val=0; while(x) { val+=tree[x]; x-=x & -x; } return val; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1, n, x, y; string s; char ch; while(cin>>n && n) { CLR(tree); for(int i=1;i<=n;i++) { cin>>x; update(i, x); } if(kk>1) cout<<"\n"; cout<<"Case "<<kk++<<":\n"; while(cin>>s && s!="END") { cin>>x>>y; if(s=="S") update(x, y-read(x)+read(x-1)); else cout<<read(y)-read(x-1)<<"\n"; } } return 0; }
Thursday, 1 October 2015
UVA 12086 Potentiometers (UVALive 2191, Regionals 2006 >> Asia - Dhaka)
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment