Cod sursa(job #1609992)
| Utilizator | Data | 23 februarie 2016 10:44:45 | |
|---|---|---|---|
| Problema | Lupul Urias si Rau | Scor | 8 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1.04 kb |
#include <fstream>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
int main()
{
long int z=1,z2,n,q,w,max=0,maxi=0,s=0;
int x,l;
f>>n>>x>>l;
long int a[n],b[n];
for(int i=1;i<=n;i++)
{
f>>q>>w;
if(q<=x)
{
a[z]=q;
b[z]=w;
z++;
}
}
bool k=0;
while(!k)
{
max=0;maxi=0;
z2=1;
for(int j=1;j<z;j++)
{
if(b[j]>max)
{
max=b[j];
maxi=j;
}
}
if(max>0)
{
s=s+b[maxi];
a[maxi]=l+1;
b[maxi]=0;
for(int i=1;i<z;i++)
{
if(a[i]+l<=x)
{
a[z2]=a[i]+l;
b[z2]=b[i];
z2++;
}
}
z=z2;
}
else
k=1;
}
g<<s;
return 0;
}
