Pagini recente » Cod sursa (job #1946525) | Monitorul de evaluare | Cod sursa (job #846620) | Cod sursa (job #195835) | Cod sursa (job #545936)
Cod sursa(job #545936)
#include <iostream>
#include<fstream>
using namespace std;
fstream f("energii.in",ios::in);
fstream g("energii.out",ios::out);
long G,W,e,c,s,a[5000][5000],i,j,max1=10005,s1,c1;
int main()
{ f>>G>>W;
for(i=1;i<=G;i++)
{
f>>a[i][1]>>a[i][2];
}
/* for(e=1;e<=G;e++)
{ s=0;c=0;
for(i=e;i<=G;i++)
{
if(s<=W){
s=s+a[i][1];
c=c+a[i][2];
}
}
if(max1>c && s>=W)max1=c;
}*/
for(i=1;i<=G;i++)
{ s=0;c=0;s1=c1=0;
for(j=G;j>=1;j--)
{ for(e=j;e>=1;e--)
if(a[i][1]+a[e][1]>=G && e!=i)
{
s1=s1+a[i][1];
c1=c1+a[i][2];
}
else {s=s+a[i][1];
c=c+a[i][2];}
}
if(max1>c && s>=W)max1=c;
else if(max1>c1 && s1>=W)max1=c1;
}
if(max1==10005)g<<"-1";
else g<<max1;
return 0;
}