Submission #363172

#TimeUsernameProblemLanguageResultExecution timeMemory
363172eric_xiaoLast supper (IOI12_supper)C++14
0 / 100
226 ms22136 KiB
#include<bits/stdc++.h> #include "advisor.h" #define ll long long #define pii pair<int,int> #define F first #define S second using namespace std; int st[100009],th[100009],in[100009],last[100009]; set<int> occ[100009]; set<pii> nw; const int inf = 1000000; void ComputeAdvice(int *C, int N, int K, int M) { int i,j,k; for(i = 0;i < N;i++) { occ[C[i]].insert(i); last[i] = -1; } for(i = 0;i < N;i++) { occ[i].insert(inf); } for(i = 0;i < K;i++) { in[i] = 1; nw.insert({*occ[i].begin(),i}); } for(i = 0;i < N;i++) { last[C[i]] = i; if(in[C[i]] == 1) { auto p = nw.lower_bound({i,C[i]}); pii t = {*occ[i].upper_bound(i),C[i]}; nw.erase(p); nw.insert(t); continue; } auto u = prev(nw.end()); if(last[u->S] == -1) { st[u->S] = 1; } else { th[last[u->S]] = 1; } pii t = {*occ[C[i]].upper_bound(i),C[i]}; nw.erase(u); nw.insert(t); } for(auto x : nw) { if(last[x.S] == -1) { st[x.S] = 1; } else { th[last[x.S]] = 1; } } for(i = 0;i < N;i++) { if(st[i] == 0)WriteAdvice(0); else WriteAdvice(1); } for(i = 0;i < N;i++) { if(th[i] == 0)WriteAdvice(0); else WriteAdvice(1); } }
#include<bits/stdc++.h> #include "assistant.h" #define ll long long #define pii pair<int,int> #define F first #define S second using namespace std; queue<int> ok; int C[100009]; set<int> inn; void Assist(unsigned char *A, int N, int K, int R) { int i,k; for(i = 0;i < N;i++) { if(A[i] == 1 && i < K) { ok.push(i); } } for(i = 0;i < K;i++)inn.insert(i); for(i = 0;i < N;i++) { C[i] = GetRequest(); if(!inn.count(C[i])) { PutBack((int)(ok.front())); inn.erase(ok.front()); ok.pop(); inn.insert(C[i]); } if(A[N+i] == 1) ok.push(C[i]); //if(A[N+i] == 0 && ok.count(C[i])) ok.erase(C[i]); } }

Compilation message (stderr)

advisor.cpp: In function 'void ComputeAdvice(int*, int, int, int)':
advisor.cpp:13:11: warning: unused variable 'j' [-Wunused-variable]
   13 |     int i,j,k;
      |           ^
advisor.cpp:13:13: warning: unused variable 'k' [-Wunused-variable]
   13 |     int i,j,k;
      |             ^

assistant.cpp: In function 'void Assist(unsigned char*, int, int, int)':
assistant.cpp:12:11: warning: unused variable 'k' [-Wunused-variable]
   12 |     int i,k;
      |           ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...