Submission #219637

# Submission time Handle Problem Language Result Execution time Memory
219637 2020-04-05T20:56:27 Z MarcoMeijer Last supper (IOI12_supper) C++14
0 / 100
326 ms 285928 KB
#include "advisor.h"
#include <bits/stdc++.h>
using namespace std;

//macros
typedef long long ll;
typedef pair<int, int> ii;
typedef tuple<int, int, int> iii;
typedef vector<int> vi;
typedef vector<ii> vii;
typedef vector<iii> viii;
typedef vector<ll> vll;
#define REP(a,b,c) for(int a=int(b); a<int(c); a++)
#define RE(a,c) REP(a,0,c)
#define RE1(a,c) REP(a,1,c+1)
#define REI(a,b,c) REP(a,b,c+1)
#define REV(a,b,c) for(int a=int(c-1); a>=int(b); a--)
#define INF 1e9
#define pb push_back
#define fi first
#define se second
#define sz size()

const int MX = 2e5;
queue<int> nxt[MX];
set<int> onShelf;
priority_queue<ii> pq;
map<int, int> last;
vi ans;
vi shelf;

void ComputeAdvice(int *C, int N, int K, int M) {
  RE(i,N) nxt[C[i]].push(i);
  RE(i,N) nxt[i].push(N);
  ans.assign(K+N,0);
  RE(i,K) {
    onShelf.insert(i);
    pq.push({nxt[i].front(), i});
    last[i] = i;
  }
  RE(i,N) {
    nxt[C[i]].pop();
    last[C[i]] = K+i;
    if(onShelf.count(C[i])) continue;
    ii p = pq.top(); pq.pop();
    ans[last[p.second]] = 1;
    onShelf.erase(p.se);
    pq.push({nxt[C[i]].front(), C[i]});
    onShelf.insert(C[i]);
  }
  while(!pq.empty()) {
    ii p = pq.top(); pq.pop();
    ans[last[p.second]] = 1;
  }
  for(int i:ans) WriteAdvice(i);
}
#include "assistant.h"
#include <bits/stdc++.h>
using namespace std;

//macros
typedef long long ll;
typedef pair<int, int> ii;
typedef tuple<int, int, int> iii;
typedef vector<int> vi;
typedef vector<ii> vii;
typedef vector<iii> viii;
typedef vector<ll> vll;
#define REP(a,b,c) for(int a=int(b); a<int(c); a++)
#define RE(a,c) REP(a,0,c)
#define RE1(a,c) REP(a,1,c+1)
#define REI(a,b,c) REP(a,b,c+1)
#define REV(a,b,c) for(int a=int(c-1); a>=int(b); a--)
#define INF 1e9
#define pb push_back
#define fi first
#define se second
#define sz size()

set<int> OnShelf;
queue<int> rem;

void Assist(unsigned char *A, int N, int K, int R) {
  /*RE(i,K) {
    OnShelf.insert(i);
    if(A[i]) rem.push(i);
  }
  RE(i,N) {
    int req = GetRequest();
    if(!OnShelf.count(req)) {
      PutBack(rem.front());
      OnShelf.erase(rem.front()); rem.pop();
      OnShelf.insert(req);
    }
    if(A[K+i]) rem.push(req);
  }*/
  RE(i,N) {
    int req = GetRequest();
  }
}

Compilation message

assistant.cpp: In function 'void Assist(unsigned char*, int, int, int)':
assistant.cpp:43:9: warning: unused variable 'req' [-Wunused-variable]
     int req = GetRequest();
         ^~~
# Verdict Execution time Memory Grader output
1 Runtime error 97 ms 269808 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 110 ms 271096 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 254 ms 280552 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 102 ms 270576 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 310 ms 283320 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
2 Runtime error 294 ms 283368 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
3 Runtime error 326 ms 284608 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
4 Runtime error 295 ms 283880 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
5 Runtime error 304 ms 283648 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
6 Runtime error 297 ms 283368 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
7 Runtime error 310 ms 283624 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
8 Runtime error 314 ms 283368 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
9 Runtime error 299 ms 283536 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
10 Runtime error 317 ms 285928 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)