# |
제출 시각 |
아이디 |
문제 |
언어 |
결과 |
실행 시간 |
메모리 |
272090 |
2020-08-18T08:52:28 Z |
최은수(#5096) |
최후의 만찬 (IOI12_supper) |
C++14 |
|
2500 ms |
1960 KB |
#include"advisor.h"
#include<iostream>
#include<vector>
#include<set>
#include<algorithm>
#define ep emplace
#define eb emplace_back
#define fi first
#define se second
#define all(x) (x).begin(),(x).end()
using namespace std;
typedef long long ll;
typedef pair<int,int>pi;
typedef pair<ll,ll>pl;
const int inf=1e9+7;
const ll INF=1e18;
void ComputeAdvice(int*C,int N,int K,int M)
{
set<pi,greater<pi> >st;
vector<int>v(N,N);
vector<int>nx=v;
for(int i=N;i-->0;)
nx[i]=v[C[i]],v[C[i]]=i;
vector<int>adv(N,0);
vector<bool>chk(N,0);
for(int i=0;i<N;i++)
{
if(nx[i]==N)
adv[i]=0;
else
{
int cnt=0,mxcnt=0;
for(int j=i+1;j<nx[j];j++)
{
if(adv[j]==0)
{
if(chk[C[j]])
chk[C[j]]=0,cnt--;
continue;
}
if(!chk[C[j]])
chk[C[j]]=1,mxcnt=max(mxcnt,++cnt);
}
if(mxcnt<K)
adv[i]=1;
else
adv[i]=0;
for(int j=i+1;j<nx[i];j++)
chk[C[j]]=0;
}
}
for(int i=0;i<K;i++)
{
int cnt=0,mxcnt=0;
for(int j=0;j<v[j];j++)
{
if(adv[j]==0)
{
if(chk[C[j]])
chk[C[j]]=0,cnt--;
continue;
}
if(!chk[C[j]])
chk[C[j]]=1,mxcnt=max(mxcnt,++cnt);
}
if(mxcnt<K)
WriteAdvice(1);
else
WriteAdvice(0);
for(int j=0;j<v[i];j++)
chk[C[j]]=0;
}
for(int i=0;i<N;i++)
WriteAdvice(adv[i]);
return;
}
#include"assistant.h"
#include<iostream>
#include<vector>
#include<queue>
#include<set>
#include<algorithm>
#define ep emplace
#define eb emplace_back
#define fi first
#define se second
#define all(x) (x).begin(),(x).end()
using namespace std;
typedef long long ll;
typedef pair<int,int>pi;
typedef pair<ll,ll>pl;
const int inf=1e9+7;
const ll INF=1e18;
void Assist(unsigned char*A,int N,int K,int R)
{
set<int>v1;
queue<int>v2;
for(int i=0;i<K;i++)
{
if(A[i]==1)
v1.ep(i);
else
v2.ep(i);
}
for(int i=0;i<N;i++)
{
int c=GetRequest();
auto it=v1.find(c);
if(it==v1.end())
{
PutBack(v2.front());
v2.pop();
}
else
v1.erase(it);
if(A[i+K]==1)
v1.ep(c);
else
v2.ep(c);
}
return;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
780 KB |
Error - Not putting back color when it is not on the scaffold |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
135 ms |
1244 KB |
Error - Putting back a color that is not on the scaffold |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
2591 ms |
1536 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
27 ms |
932 KB |
Error - Putting back a color that is not on the scaffold |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
2585 ms |
1920 KB |
Time limit exceeded |
2 |
Execution timed out |
2541 ms |
1920 KB |
Time limit exceeded |
3 |
Execution timed out |
2585 ms |
1920 KB |
Time limit exceeded |
4 |
Execution timed out |
2574 ms |
1920 KB |
Time limit exceeded |
5 |
Execution timed out |
2578 ms |
1920 KB |
Time limit exceeded |
6 |
Execution timed out |
2576 ms |
1920 KB |
Time limit exceeded |
7 |
Execution timed out |
2529 ms |
1920 KB |
Time limit exceeded |
8 |
Execution timed out |
2587 ms |
1920 KB |
Time limit exceeded |
9 |
Execution timed out |
2576 ms |
1920 KB |
Time limit exceeded |
10 |
Execution timed out |
2575 ms |
1960 KB |
Time limit exceeded |