# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
904934 |
2024-01-12T11:36:14 Z |
Trisanu_Das |
Seats (IOI18_seats) |
C++17 |
|
4000 ms |
85856 KB |
#include "seats.h"
#include<bits/stdc++.h>
using namespace std;
struct node{
int a,b,c,d;
} val[4000100];
int l[4000100], r[4000100];
node join(node a, node b){
node c;
c.a = min(a.a,b.a);
c.b = max(a.b,b.b);
c.c = min(a.c,b.c);
c.d = max(a.d,b.d);
return c;
}
void build(int i, int rl, int rr) {
l[i] = rl, r[i] = rr;
if(rl!=rr)
build(i*2,rl,rr+rl>>1),build(i*2+1,rl+rr+2>>1, rr);
}
void upd(int i, int pos, int x, int y) {
if(l[i]==r[i])
return(void) (val[i].a=val[i].b=x,val[i].c=val[i].d=y);
if(pos>r[i*2])
upd(i*2+1,pos,x,y);
else upd(i*2,pos,x,y);
val[i]=join(val[i*2],val[i*2+1]);
}
node query(int i, int x, int y) {
if(x<=l[i]&&r[i]<=y)
return val[i];
if(x>r[i]||l[i]>y)
return (node){100000,0,100000,0};
return join(query(i*2,x,y),query(i*2+1,x,y));
}
void give_initial_chart(int H, int W, vector<int> R, vector<int> C) {
build(1,1,H*W);
for(int i = 0; i < r[1]; i++) {
upd(1,i+1,R[i],C[i]);
}
}
int swap_seats(int a, int b) {
a++,b++;
node x = query(1,a,a), y = query(1,b,b);
upd(1,b,x.a,x.c);
upd(1,a,y.a,y.c);
int ans = 0;
for(int i = 1; i <= r[1]; i++) {
x=query(1,1,i);
int sz = (x.b-x.a+1)*(x.d-x.c+1);
if(sz==i) ans++;
else i = sz-1;
}
return ans;
}
Compilation message
seats.cpp: In function 'void build(int, int, int)':
seats.cpp:19:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
19 | build(i*2,rl,rr+rl>>1),build(i*2+1,rl+rr+2>>1, rr);
| ~~^~~
seats.cpp:19:49: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
19 | build(i*2,rl,rr+rl>>1),build(i*2+1,rl+rr+2>>1, rr);
| ~~~~~^~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
4440 KB |
Output is correct |
2 |
Correct |
6 ms |
4440 KB |
Output is correct |
3 |
Correct |
4 ms |
4444 KB |
Output is correct |
4 |
Correct |
4 ms |
4444 KB |
Output is correct |
5 |
Correct |
20 ms |
4612 KB |
Output is correct |
6 |
Correct |
5 ms |
4444 KB |
Output is correct |
7 |
Correct |
4 ms |
4444 KB |
Output is correct |
8 |
Correct |
7 ms |
4440 KB |
Output is correct |
9 |
Correct |
7 ms |
4636 KB |
Output is correct |
10 |
Correct |
4 ms |
4444 KB |
Output is correct |
11 |
Correct |
5 ms |
4444 KB |
Output is correct |
12 |
Correct |
20 ms |
4624 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
4440 KB |
Output is correct |
2 |
Correct |
6 ms |
4440 KB |
Output is correct |
3 |
Correct |
4 ms |
4444 KB |
Output is correct |
4 |
Correct |
4 ms |
4444 KB |
Output is correct |
5 |
Correct |
20 ms |
4612 KB |
Output is correct |
6 |
Correct |
5 ms |
4444 KB |
Output is correct |
7 |
Correct |
4 ms |
4444 KB |
Output is correct |
8 |
Correct |
7 ms |
4440 KB |
Output is correct |
9 |
Correct |
7 ms |
4636 KB |
Output is correct |
10 |
Correct |
4 ms |
4444 KB |
Output is correct |
11 |
Correct |
5 ms |
4444 KB |
Output is correct |
12 |
Correct |
20 ms |
4624 KB |
Output is correct |
13 |
Correct |
11 ms |
4696 KB |
Output is correct |
14 |
Correct |
9 ms |
4700 KB |
Output is correct |
15 |
Correct |
9 ms |
4700 KB |
Output is correct |
16 |
Execution timed out |
4003 ms |
4696 KB |
Time limit exceeded |
17 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
314 ms |
69460 KB |
Output is correct |
2 |
Correct |
335 ms |
85576 KB |
Output is correct |
3 |
Correct |
2964 ms |
85856 KB |
Output is correct |
4 |
Correct |
469 ms |
85624 KB |
Output is correct |
5 |
Correct |
423 ms |
85632 KB |
Output is correct |
6 |
Correct |
3432 ms |
85640 KB |
Output is correct |
7 |
Correct |
1036 ms |
85620 KB |
Output is correct |
8 |
Correct |
544 ms |
85592 KB |
Output is correct |
9 |
Correct |
2706 ms |
85648 KB |
Output is correct |
10 |
Correct |
1611 ms |
85632 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
9 ms |
4700 KB |
Output is correct |
2 |
Correct |
75 ms |
14172 KB |
Output is correct |
3 |
Correct |
2240 ms |
69456 KB |
Output is correct |
4 |
Correct |
331 ms |
85588 KB |
Output is correct |
5 |
Execution timed out |
4013 ms |
85588 KB |
Time limit exceeded |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
19 ms |
5588 KB |
Output is correct |
2 |
Correct |
24 ms |
5552 KB |
Output is correct |
3 |
Correct |
197 ms |
5408 KB |
Output is correct |
4 |
Correct |
2032 ms |
5756 KB |
Output is correct |
5 |
Correct |
79 ms |
5728 KB |
Output is correct |
6 |
Incorrect |
1143 ms |
69956 KB |
Output isn't correct |
7 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
4440 KB |
Output is correct |
2 |
Correct |
6 ms |
4440 KB |
Output is correct |
3 |
Correct |
4 ms |
4444 KB |
Output is correct |
4 |
Correct |
4 ms |
4444 KB |
Output is correct |
5 |
Correct |
20 ms |
4612 KB |
Output is correct |
6 |
Correct |
5 ms |
4444 KB |
Output is correct |
7 |
Correct |
4 ms |
4444 KB |
Output is correct |
8 |
Correct |
7 ms |
4440 KB |
Output is correct |
9 |
Correct |
7 ms |
4636 KB |
Output is correct |
10 |
Correct |
4 ms |
4444 KB |
Output is correct |
11 |
Correct |
5 ms |
4444 KB |
Output is correct |
12 |
Correct |
20 ms |
4624 KB |
Output is correct |
13 |
Correct |
11 ms |
4696 KB |
Output is correct |
14 |
Correct |
9 ms |
4700 KB |
Output is correct |
15 |
Correct |
9 ms |
4700 KB |
Output is correct |
16 |
Execution timed out |
4003 ms |
4696 KB |
Time limit exceeded |
17 |
Halted |
0 ms |
0 KB |
- |