Submission #118043

#TimeUsernameProblemLanguageResultExecution timeMemory
118043baqargamLast supper (IOI12_supper)C++14
0 / 100
107 ms12216 KiB
#include<bits/stdc++.h> #include "advisor.h" //#include "grader.h" using namespace std; void ComputeAdvice(int *C, int n, int k, int m) {//cout<<345; int ls[2000005],nx[200005]; set<pair<int,int> >q; int ret[200005],sc[200005]; for(int i=0;i<=200000;i++){ ls[i]=100000000; nx[i]=0; sc[i]=ret[i]=0; } for(int i=n-1;i>=0;i--){ nx[i]=ls[C[i]]; ls[C[i]]=i; // cout<<nx[i]<<" "; } // cout<<endl; for(int i=0;i<k;i++){ q.insert({-ls[i],i}); sc[i]=1; } for(int i=k;i<k+n;i++){ if(sc[C[i-k]]==1) {q.erase(q.lower_bound({-(i-k),0}));q.insert({-nx[i-k],i});/**/continue;} int a=-q.begin()->first; int j=q.begin()->second; q.erase(q.begin()); q.insert({-nx[i-k],i}); if(j<k) sc[j]=0; else sc[C[i-k]]=0; sc[C[i-k]]=1; ret[j]=1; } for(int i=0;i<k+n;i++){ WriteAdvice(ret[i]); } }
#include<bits/stdc++.h> #include "assistant.h" //#include "grader.h" using namespace std; void Assist(unsigned char *A, int n, int k, int r) { int sc[200005]; queue<int>q; for(int i=0;i<n;i++){ sc[i]=0; } for(int i=0;i<k;i++){ if((int)A[i]==1) {q.push(i);} sc[i]=1; } for(int i=0;i<n;i++){ int a=GetRequest(); if(sc[a]==0) { if(q.size()==0)PutBack(0); else { PutBack(q.front()); sc[q.front()]=0; q.pop(); sc[a]=1; } } if((int)A[i+k]==1) {q.push(a);} } }

Compilation message (stderr)

advisor.cpp: In function 'void ComputeAdvice(int*, int, int, int)':
advisor.cpp:31:13: warning: unused variable 'a' [-Wunused-variable]
         int a=-q.begin()->first;
             ^
#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...