#include "seats.h"
#include <utility>
#include <iostream>
using namespace std;
std::vector<int> r;
std::vector<int> c;
std::vector< pair<int,int> > pos;
int K;
int debug = false;
void give_initial_chart(int H, int W, std::vector<int> R, std::vector<int> C) {
r = R;
c = C;
K = R.size();
for ( int i = 0 ; i < K ; i++) {
if( debug ) cout << R[i] << C[i] << endl;
pos.push_back(make_pair(R[i],C[i]));
}
}
int r1,r2,c1,c2;
int add_rect( int r, int c)
{
int changed = 0;
if ( r >= r1 && r <= r2 && c >= c1 && c <= c2) changed = 0;
else {
if ( r < r1 ) r1 = r;
else if( r > r2 ) r2 = r;
if ( c < c1 ) c1 = c;
else if( c > c2 ) c2 = c;
changed = 1;
}
return changed ;
}
int swap_seats(int a, int b) {
if( debug ) cout << "Swap : " << a << b << endl;
pair<int,int> t = pos[b];
pos[b]=pos[a];
pos[a]=t;
r1=r2=pos[0].first;
c1=c2=pos[0].second;
int cnt = 2;
if( debug ) cout << 0 << r1 << r2 << c1 << c2 << endl;
for( int i =1 ; i < K-1 ; i++) {
int changed = add_rect( pos[i].first , pos[i].second ) ;
if( debug ) cout << i << changed << r1 << r2 << c1 << c2 << endl;
if ( (r2-r1+1)*(c2-c1+1) == i+1 ) {
if( debug ) cout << "BRect " << i << endl;
cnt++;
} else {
//i = (r2-r1+1)*(c2-c1+1)
}
}
return cnt;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
4 ms |
512 KB |
Output is correct |
2 |
Correct |
4 ms |
512 KB |
Output is correct |
3 |
Correct |
8 ms |
512 KB |
Output is correct |
4 |
Correct |
6 ms |
512 KB |
Output is correct |
5 |
Correct |
7 ms |
512 KB |
Output is correct |
6 |
Correct |
6 ms |
512 KB |
Output is correct |
7 |
Correct |
31 ms |
504 KB |
Output is correct |
8 |
Correct |
6 ms |
512 KB |
Output is correct |
9 |
Correct |
6 ms |
512 KB |
Output is correct |
10 |
Correct |
15 ms |
504 KB |
Output is correct |
11 |
Correct |
7 ms |
512 KB |
Output is correct |
12 |
Correct |
8 ms |
512 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
4 ms |
512 KB |
Output is correct |
2 |
Correct |
4 ms |
512 KB |
Output is correct |
3 |
Correct |
8 ms |
512 KB |
Output is correct |
4 |
Correct |
6 ms |
512 KB |
Output is correct |
5 |
Correct |
7 ms |
512 KB |
Output is correct |
6 |
Correct |
6 ms |
512 KB |
Output is correct |
7 |
Correct |
31 ms |
504 KB |
Output is correct |
8 |
Correct |
6 ms |
512 KB |
Output is correct |
9 |
Correct |
6 ms |
512 KB |
Output is correct |
10 |
Correct |
15 ms |
504 KB |
Output is correct |
11 |
Correct |
7 ms |
512 KB |
Output is correct |
12 |
Correct |
8 ms |
512 KB |
Output is correct |
13 |
Correct |
226 ms |
1028 KB |
Output is correct |
14 |
Correct |
207 ms |
1016 KB |
Output is correct |
15 |
Correct |
250 ms |
1144 KB |
Output is correct |
16 |
Correct |
328 ms |
1152 KB |
Output is correct |
17 |
Correct |
219 ms |
1024 KB |
Output is correct |
18 |
Correct |
214 ms |
1144 KB |
Output is correct |
19 |
Correct |
205 ms |
1024 KB |
Output is correct |
20 |
Correct |
210 ms |
1144 KB |
Output is correct |
21 |
Correct |
196 ms |
1024 KB |
Output is correct |
22 |
Correct |
198 ms |
1024 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
4024 ms |
32960 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
211 ms |
1144 KB |
Output is correct |
2 |
Correct |
1860 ms |
4976 KB |
Output is correct |
3 |
Execution timed out |
4040 ms |
48100 KB |
Time limit exceeded |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
19 ms |
2036 KB |
Output is correct |
2 |
Correct |
27 ms |
2036 KB |
Output is correct |
3 |
Correct |
43 ms |
2080 KB |
Output is correct |
4 |
Correct |
212 ms |
2124 KB |
Output is correct |
5 |
Correct |
2159 ms |
2704 KB |
Output is correct |
6 |
Execution timed out |
4090 ms |
49508 KB |
Time limit exceeded |
7 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
4 ms |
512 KB |
Output is correct |
2 |
Correct |
4 ms |
512 KB |
Output is correct |
3 |
Correct |
8 ms |
512 KB |
Output is correct |
4 |
Correct |
6 ms |
512 KB |
Output is correct |
5 |
Correct |
7 ms |
512 KB |
Output is correct |
6 |
Correct |
6 ms |
512 KB |
Output is correct |
7 |
Correct |
31 ms |
504 KB |
Output is correct |
8 |
Correct |
6 ms |
512 KB |
Output is correct |
9 |
Correct |
6 ms |
512 KB |
Output is correct |
10 |
Correct |
15 ms |
504 KB |
Output is correct |
11 |
Correct |
7 ms |
512 KB |
Output is correct |
12 |
Correct |
8 ms |
512 KB |
Output is correct |
13 |
Correct |
226 ms |
1028 KB |
Output is correct |
14 |
Correct |
207 ms |
1016 KB |
Output is correct |
15 |
Correct |
250 ms |
1144 KB |
Output is correct |
16 |
Correct |
328 ms |
1152 KB |
Output is correct |
17 |
Correct |
219 ms |
1024 KB |
Output is correct |
18 |
Correct |
214 ms |
1144 KB |
Output is correct |
19 |
Correct |
205 ms |
1024 KB |
Output is correct |
20 |
Correct |
210 ms |
1144 KB |
Output is correct |
21 |
Correct |
196 ms |
1024 KB |
Output is correct |
22 |
Correct |
198 ms |
1024 KB |
Output is correct |
23 |
Execution timed out |
4024 ms |
32960 KB |
Time limit exceeded |
24 |
Halted |
0 ms |
0 KB |
- |