Pagini recente »
Istoria paginii runda/melc/clasament
|
Borderou de evaluare (job #133080)
|
Istoria paginii runda/10_lmk_vs
|
Borderou de evaluare (job #133485)
|
Cod sursă (job #316993)
Cod sursă (job
#316993)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("domino.in");
ofstream fout("domino.out");
int n,v[100001],k,x[100001];
bool t[100001];
int main()
{
int i,j,vf=0,k1,k2,s,vf1,d;
fin>>n>>k1>>k2;
x[vf]=0;
v[vf]=0;
for(i=1;i<=n;i++)
{
fin>>s>>d;
while(max(s,d)>max(v[vf],x[vf])&&vf>0&&k2>0)
{
if(t[vf]==true)
{
t[vf]=false;
k1++;
}
vf--;
k2--;
}
vf1=vf;
while(max(v[vf],x[vf])==max(v[vf1],x[vf1]))
{
if(t[vf]==true)
{
k1++;
t[vf]=false;
}
vf1--;
}
//cout<<vf<<" "<<k1<<endl;
vf++;
if(k1>0&&s<d)
{
k1--;
v[vf]=d;
x[vf]=s;
t[vf]=true;
}
else{
v[vf]=s;
x[vf]=d;
}
}
for(i=1;i<=vf;i++)
fout<<v[i]<<x[i];
return 0;
}