Pagini recente »
Borderou de evaluare (job #520089)
|
Istoria paginii runda/recapitulare10/clasament
|
Cod sursă (job #495622)
|
Istoria paginii utilizator/stingapetru
|
Cod sursă (job #316995)
Cod sursă (job
#316995)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("domino.in");
ofstream fout("domino.out");
int n,v[10001],k,x[10001];
bool t[10001];
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])&&vf1>0)
{
if(t[vf1]==true)
{
k1++;
t[vf1]=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;
}