Cod sursa(job #1435720)
Utilizator | Data | 14 mai 2015 10:49:38 | |
---|---|---|---|
Problema | Transport | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.69 kb |
#include<fstream>
using namespace std;
int n,ture,sMom,kMom,mx,limS,limD,mij,sumMax,v[1000];
int main()
{
ifstream f("transport.in");
ofstream g("transport.out");
f>>n>>ture;
for(int i=1;i<=n;i++)
{
f>>v[i];
if(v[i]>mx)mx=v[i];
sumMax+=v[i];
}
limS=mx;
limD=sumMax;
while(limD-limS!=1)
{
mij=limS+(limD-limS)/2;
sMom=0;
kMom=1;
for(int i=1;i<=n;i++)
{
sMom+=v[i];
if(sMom>mij)
{
kMom++;
sMom=v[i];
}
}
if(kMom<=ture)limD=mij;
else limS=mij;
}
g<<mij;
return 0;
}