Cod sursa(job #1338231)
Utilizator | Data | 9 februarie 2015 21:27:27 | |
---|---|---|---|
Problema | Transport | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.68 kb |
#include <iostream>
#include <fstream>
using namespace std;
int n,k,a[16005],z,x[16005],s;
int main()
{
int i,j,q,w,e,mn,mx;
FILE *f=fopen("transport.in","r");
FILE *g=fopen("transport.out","w");
fscanf(f,"%d %d",&n,&k);
for(i=1;i<=n;i++)
{
fscanf(f,"%d",&x[i]);
s+=x[i];
}
s/=k;
a[1]=x[1];
int in=1;
for(i=2;i<=n;i++)
{
if(a[in]+x[i]<s)
a[in]+=x[i];
else
{
if(in<k)
in++,a[in]+=x[i];
else a[in]+=x[i];
}
}
mx=0;
for(i=1;i<=k;i++)
mx=max(mx,a[i]);
fprintf(g,"%d\n",mx);
return 0;
}