Pagini recente » Borderou de evaluare (job #2678284) | Borderou de evaluare (job #1436759) | Borderou de evaluare (job #76202) | Borderou de evaluare (job #159292) | Borderou de evaluare (job #3223697)
Borderou de evaluare (job #3223697)
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 |
1 | 4ms | 303kb | OK | 10 |
2 | 6ms | 1081kb | OK | 10 |
3 | 4ms | 1343kb | OK | 10 |
4 | 29ms | 6520kb | OK | 10 |
5 | 29ms | 8179kb | OK | 10 |
6 | 158ms | 38363kb | OK | 10 |
7 | 148ms | 31133kb | OK | 10 |
8 | 153ms | 38223kb | OK | 10 |
9 | 153ms | 30535kb | OK | 10 |
10 | 157ms | 38367kb | OK | 10 |
Punctaj total | 100 |