Cod sursa(job #93848)
Utilizator | dan horia bobo_2 | Data | 20 octombrie 2007 14:22:30 |
---|---|---|---|
Problema | Transport | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include<fstream.h>
ifstream f("transport.in");
ofstream g("transport.out");
long long int a[1600],n,m,s,max,nrt,k,i;
int main()
{ f>>n>>k;
for(i=1;i<=n;i++)
f>>a[i];
a[i+1]=-1;
max=0;
for(i=1;i<=n;i++)
if(a[i]>max) max=a[i];
nrt=0;
i=1;
while(i<=n)
{ if(nrt<k) { s=0;
while(s<=max&&i!=-1)
{
s+=a[i++];
}
if(nrt<=k)
nrt++;
else nrt=k+1;
i=i-1;
}
else { max++; i=1; nrt=0; }
}
g<<max;
f.close();
g.close();
return 0;
}