Cod sursa(job #1549303)
| Utilizator | Data | 12 decembrie 2015 11:13:13 | |
|---|---|---|---|
| Problema | Energii | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.92 kb |
#include <iostream>
#include <fstream>
using namespace std;
int i,G,W,mi=10001,q=0,j,a,b,k=0,ok=1;
long e[10051],c[1001];
int main()
{
ifstream f("energii.in");
ofstream g("energii.out");
f>>G;
f>>W;
e[0]=c[0]=0;
for(i=1;i<=G;i++)
{
f>>a;
f>>b;
if(a>=W)
{
if(b<mi)
mi=b;
k=1;
}
else
{
q++;
e[q]=e[q-1]+a;
c[q]=c[q-1]+b;
}
}
if(e[q]>=W)
{
for(i=1;i<q;i++)
{
for(ok=1;ok<=q-i;ok++)
for(j=i+ok;j<=q;j++)
if(e[j]-e[i-1]>=W and c[j]-c[i-1]<mi)
mi=c[j]-c[i-1];
}
g<<mi;
}
else
{
if(k==1)
g<<mi;
else
g<<-1;
}
return 0;
}
