답안 #107510

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
107510 2019-04-25T00:17:43 Z kyunamk 자리 배치 (IOI18_seats) C++14
11 / 100
4000 ms 49508 KB
#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 -