Submission #741048

# Submission time Handle Problem Language Result Execution time Memory
741048 2023-05-13T13:29:36 Z almothana05 Seats (IOI18_seats) C++14
17 / 100
4000 ms 60332 KB
#include "seats.h"
#include<bits/stdc++.h>
using namespace std;

int maxr[2000000] ,maxc[2000000] , minr[2000000] , minc[2000000] , vis[2000000];
int erg = 0;
pair<int , int>pl[2000000];
void up(int i , int r , int c){
    if(i != 0){
      maxr[i] = maxr[i - 1];
      maxc[i] = maxc[i - 1];

      minr[i] = minr[i - 1];
      minc[i] = minc[i - 1];
    }
    else{
      maxr[i] = r;
      maxc[i] = c;

      minr[i] = r;
      minc[i] = c;
    }

    maxr[i] = max(maxr[i] , r);
    maxc[i] = max(maxc[i] , c);

    minr[i] = min(minr[i] , r);
    minc[i] = min(minc[i] , c);
}
void give_initial_chart(int H, int W, vector<int> r, vector<int> c) {
  int menge = H * W;
  for(int i = 0 ; i < menge ; i++){
    pl[i] = {r[i] , c[i]};
    up(i , pl[i].first , pl[i].second);
    if(i + 1 == (maxr[i] - minr[i] + 1) * (maxc[i] - minc[i] + 1)){
      vis[i] = 1;
      erg++;
    }
  }
  // cout << erg << "\n";
}

int swap_seats(int a, int b) {
  if(a > b){
    swap(a , b);
  }
  swap(pl[a] , pl[b]);
  for(int i = a ; i < b ; i++){
    up(i , pl[i].first , pl[i].second);
    // cout << maxr[i] << ' ' << minr[i] <<' ' << maxc[i] << ' ' << minc[i] << "\n";
    if(i + 1 == (maxr[i] - minr[i] + 1) * (maxc[i] - minc[i] + 1)){
      if(vis[i] == 0){
        vis[i] = 1;
        erg++;
      }
    }
    else{
      if(vis[i] == 1){
        vis[i] = 0;
        erg--;
      }
    }
  }
  return erg;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 468 KB Output is correct
2 Correct 3 ms 468 KB Output is correct
3 Correct 3 ms 468 KB Output is correct
4 Correct 3 ms 528 KB Output is correct
5 Correct 4 ms 468 KB Output is correct
6 Correct 3 ms 448 KB Output is correct
7 Correct 3 ms 468 KB Output is correct
8 Correct 3 ms 468 KB Output is correct
9 Correct 4 ms 528 KB Output is correct
10 Correct 3 ms 468 KB Output is correct
11 Correct 3 ms 468 KB Output is correct
12 Correct 5 ms 468 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 468 KB Output is correct
2 Correct 3 ms 468 KB Output is correct
3 Correct 3 ms 468 KB Output is correct
4 Correct 3 ms 528 KB Output is correct
5 Correct 4 ms 468 KB Output is correct
6 Correct 3 ms 448 KB Output is correct
7 Correct 3 ms 468 KB Output is correct
8 Correct 3 ms 468 KB Output is correct
9 Correct 4 ms 528 KB Output is correct
10 Correct 3 ms 468 KB Output is correct
11 Correct 3 ms 468 KB Output is correct
12 Correct 5 ms 468 KB Output is correct
13 Correct 108 ms 988 KB Output is correct
14 Correct 113 ms 936 KB Output is correct
15 Correct 106 ms 952 KB Output is correct
16 Correct 100 ms 992 KB Output is correct
17 Correct 101 ms 944 KB Output is correct
18 Correct 102 ms 952 KB Output is correct
19 Correct 106 ms 980 KB Output is correct
20 Correct 101 ms 1072 KB Output is correct
21 Correct 99 ms 980 KB Output is correct
22 Correct 106 ms 980 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 4059 ms 55476 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 149 ms 988 KB Output is correct
2 Correct 167 ms 5204 KB Output is correct
3 Correct 383 ms 56956 KB Output is correct
4 Correct 385 ms 55500 KB Output is correct
5 Correct 391 ms 59464 KB Output is correct
6 Correct 389 ms 55476 KB Output is correct
7 Correct 394 ms 59460 KB Output is correct
8 Correct 386 ms 55488 KB Output is correct
9 Correct 403 ms 56004 KB Output is correct
10 Correct 389 ms 55448 KB Output is correct
11 Correct 394 ms 59444 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 15 ms 1956 KB Output is correct
2 Correct 17 ms 1972 KB Output is correct
3 Correct 26 ms 1964 KB Output is correct
4 Correct 135 ms 2020 KB Output is correct
5 Correct 1132 ms 2708 KB Output is correct
6 Execution timed out 4010 ms 60332 KB Time limit exceeded
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 468 KB Output is correct
2 Correct 3 ms 468 KB Output is correct
3 Correct 3 ms 468 KB Output is correct
4 Correct 3 ms 528 KB Output is correct
5 Correct 4 ms 468 KB Output is correct
6 Correct 3 ms 448 KB Output is correct
7 Correct 3 ms 468 KB Output is correct
8 Correct 3 ms 468 KB Output is correct
9 Correct 4 ms 528 KB Output is correct
10 Correct 3 ms 468 KB Output is correct
11 Correct 3 ms 468 KB Output is correct
12 Correct 5 ms 468 KB Output is correct
13 Correct 108 ms 988 KB Output is correct
14 Correct 113 ms 936 KB Output is correct
15 Correct 106 ms 952 KB Output is correct
16 Correct 100 ms 992 KB Output is correct
17 Correct 101 ms 944 KB Output is correct
18 Correct 102 ms 952 KB Output is correct
19 Correct 106 ms 980 KB Output is correct
20 Correct 101 ms 1072 KB Output is correct
21 Correct 99 ms 980 KB Output is correct
22 Correct 106 ms 980 KB Output is correct
23 Execution timed out 4059 ms 55476 KB Time limit exceeded
24 Halted 0 ms 0 KB -