Cod sursa(job #1338173)
| Utilizator | Data | 9 februarie 2015 20:41:37 | |
|---|---|---|---|
| Problema | Transport | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.67 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];
for(i=2;i<=n;i++)
{
mn=16005;
for(j=1;j<=k;j++)
{
w=max(k-a[j]-x[i],a[j]+x[i]-k);
if(w<mn)
mn=w,e=j;
}
a[e]+=x[i];
}
mx=0;
for(i=1;i<=k;i++)
mx=max(mx,a[i]);
fprintf(g,"%d\n",mx);
return 0;
}
