Borderou de evaluare (job #3223697)

Utilizator dgabiDolteanu Gabriel dgabi Data 13 aprilie 2024 14:30:23
Problema Undo Status done
Runda Arhiva de probleme Compilator cpp-64 | Vezi sursa
Scor 100

Raport evaluator

Compilare: main.cpp: In function 'int main()': main.cpp:7:666: warning: narrowing conversion of 'k' from 'int' to 'short int' [-Wnarrowing] 7 | using namespace std;ifstream in("undo.in");ofstream out("undo.out");int a[N][N],c[M],r[M],n;pair<pair<short,short>,short> b[M];vector<pair<pair<short,short>,int>> q[M];vector<int> v[M];void update(int i,int j,int k){for(;i<=n;i+=i&(-i))for(int jj=j;jj<=n;jj+=jj&(-jj))a[i][jj]+=k;}int query(int i,int j){int s=0,jj;for(;i;i-=i&(-i))for(jj=j;jj;jj-=jj&(-jj))s+=a[i][jj];return s;}void dfs(int p){if(p)update(b[p].x,b[p].y,b[p].z);for(auto it:q[p])r[it.z]=query(it.x,it.y);for(auto it:v[p])dfs(it);if(p)update(b[p].x,b[p].y,-b[p].z);} int main(){int m,i,j,k,t,p=0,u=0,qq=0;in>>n>>m;while(m--){in>>t>>i;if(t==1){in>>j>>k;v[c[p]].push_back(++u);c[++p]=u;b[u]={{i,j},k};}else if(t==2){in>>j;q[c[p]].push_back({{i,j},qq++});}else p++,c[p]=c[p-i-1];}dfs(0);for(i=0;i<qq;i++)out<<r[i]<<"\n";} | ^
Test Timp executie Memorie folosita Mesaj Punctaj/test
14ms303kbOK10
26ms1081kbOK10
34ms1343kbOK10
429ms6520kbOK10
529ms8179kbOK10
6158ms38363kbOK10
7148ms31133kbOK10
8153ms38223kbOK10
9153ms30535kbOK10
10157ms38367kbOK10
Punctaj total100

Ceva nu functioneaza?