#include "seats.h"
#include <iostream>
using namespace std;
const int MX = 1e6+5;
vector<pair<int,int>> pos(MX);
int n = 0;
vector<int> rmin(MX,0);
vector<int> rmax(MX,0);
vector<int> cmin(MX,0);
vector<int> cmax(MX,0);
void give_initial_chart(int H, int W, std::vector<int> R, std::vector<int> C) {
n = H*W;
for(int i=0;i<H*W;i++)pos[i] = {R[i],C[i]};
}
int swap_seats(int a, int b) {
swap(pos[a],pos[b]);
rmin[0]=rmax[0]=pos[0].first;
cmin[0]=cmax[0]=pos[0].second;
for(int i=1;i<n;i++){
rmin[i] = min(rmin[i-1],pos[i].first);
rmax[i] = max(rmax[i-1],pos[i].first);
cmin[i] = min(cmin[i-1],pos[i].second);
cmax[i] = max(cmax[i-1],pos[i].second);
}
// cout << endl;
long long ans = 0;
for(int i=0;i<n;i++){
int box_size = (rmax[i]-rmin[i]+1)*(cmax[i]-cmin[i]+1);
// cout << "{" << rmin[i] << "," << rmax[i] << "} {" << cmin[i] << "," << cmax[i] << "} " << box_size << " " << i+1 << endl;
if(i+1 == box_size){
ans++;
}
}
// cout << " ans = " << ans << endl << endl;
return ans;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
12 ms |
23892 KB |
Output is correct |
2 |
Correct |
14 ms |
23856 KB |
Output is correct |
3 |
Correct |
14 ms |
23852 KB |
Output is correct |
4 |
Correct |
14 ms |
23924 KB |
Output is correct |
5 |
Correct |
14 ms |
23892 KB |
Output is correct |
6 |
Correct |
15 ms |
23844 KB |
Output is correct |
7 |
Correct |
14 ms |
23856 KB |
Output is correct |
8 |
Correct |
14 ms |
23892 KB |
Output is correct |
9 |
Correct |
14 ms |
23904 KB |
Output is correct |
10 |
Correct |
15 ms |
23860 KB |
Output is correct |
11 |
Correct |
14 ms |
23876 KB |
Output is correct |
12 |
Correct |
13 ms |
23892 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
12 ms |
23892 KB |
Output is correct |
2 |
Correct |
14 ms |
23856 KB |
Output is correct |
3 |
Correct |
14 ms |
23852 KB |
Output is correct |
4 |
Correct |
14 ms |
23924 KB |
Output is correct |
5 |
Correct |
14 ms |
23892 KB |
Output is correct |
6 |
Correct |
15 ms |
23844 KB |
Output is correct |
7 |
Correct |
14 ms |
23856 KB |
Output is correct |
8 |
Correct |
14 ms |
23892 KB |
Output is correct |
9 |
Correct |
14 ms |
23904 KB |
Output is correct |
10 |
Correct |
15 ms |
23860 KB |
Output is correct |
11 |
Correct |
14 ms |
23876 KB |
Output is correct |
12 |
Correct |
13 ms |
23892 KB |
Output is correct |
13 |
Correct |
347 ms |
23996 KB |
Output is correct |
14 |
Correct |
343 ms |
23976 KB |
Output is correct |
15 |
Correct |
342 ms |
23972 KB |
Output is correct |
16 |
Correct |
339 ms |
23980 KB |
Output is correct |
17 |
Correct |
348 ms |
23988 KB |
Output is correct |
18 |
Correct |
347 ms |
23980 KB |
Output is correct |
19 |
Correct |
341 ms |
23976 KB |
Output is correct |
20 |
Correct |
346 ms |
23980 KB |
Output is correct |
21 |
Correct |
347 ms |
23976 KB |
Output is correct |
22 |
Correct |
340 ms |
23976 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
4065 ms |
39544 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
347 ms |
24124 KB |
Output is correct |
2 |
Correct |
3027 ms |
25132 KB |
Output is correct |
3 |
Execution timed out |
4064 ms |
39416 KB |
Time limit exceeded |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
23 ms |
24940 KB |
Output is correct |
2 |
Correct |
23 ms |
24836 KB |
Output is correct |
3 |
Correct |
54 ms |
24836 KB |
Output is correct |
4 |
Correct |
343 ms |
24804 KB |
Output is correct |
5 |
Correct |
3335 ms |
25008 KB |
Output is correct |
6 |
Execution timed out |
4070 ms |
39752 KB |
Time limit exceeded |
7 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
12 ms |
23892 KB |
Output is correct |
2 |
Correct |
14 ms |
23856 KB |
Output is correct |
3 |
Correct |
14 ms |
23852 KB |
Output is correct |
4 |
Correct |
14 ms |
23924 KB |
Output is correct |
5 |
Correct |
14 ms |
23892 KB |
Output is correct |
6 |
Correct |
15 ms |
23844 KB |
Output is correct |
7 |
Correct |
14 ms |
23856 KB |
Output is correct |
8 |
Correct |
14 ms |
23892 KB |
Output is correct |
9 |
Correct |
14 ms |
23904 KB |
Output is correct |
10 |
Correct |
15 ms |
23860 KB |
Output is correct |
11 |
Correct |
14 ms |
23876 KB |
Output is correct |
12 |
Correct |
13 ms |
23892 KB |
Output is correct |
13 |
Correct |
347 ms |
23996 KB |
Output is correct |
14 |
Correct |
343 ms |
23976 KB |
Output is correct |
15 |
Correct |
342 ms |
23972 KB |
Output is correct |
16 |
Correct |
339 ms |
23980 KB |
Output is correct |
17 |
Correct |
348 ms |
23988 KB |
Output is correct |
18 |
Correct |
347 ms |
23980 KB |
Output is correct |
19 |
Correct |
341 ms |
23976 KB |
Output is correct |
20 |
Correct |
346 ms |
23980 KB |
Output is correct |
21 |
Correct |
347 ms |
23976 KB |
Output is correct |
22 |
Correct |
340 ms |
23976 KB |
Output is correct |
23 |
Execution timed out |
4065 ms |
39544 KB |
Time limit exceeded |
24 |
Halted |
0 ms |
0 KB |
- |