Mai intai trebuie sa te autentifici.
Cod sursa(job #2002575)
| Utilizator | Data | 20 iulie 2017 12:29:18 | |
|---|---|---|---|
| Problema | Transport | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.72 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int n,k,v[16000],max_saltea=0,suma_vol=0,i,mid,s,ki;
ifstream f ("transport.in");
f>>n>>k;
for(i=0;i<n;i++)
{ f>>v[i];
if(v[i]>max_saltea)
max_saltea=v[i];
suma_vol=suma_vol+v[i];}
do
{
mid=(max_saltea+suma_vol)/2;
cout<<mid<<" "<<max_saltea<<" "<<suma_vol<<endl;
s=0;
ki=0;
for(i=0;i<n;i++)
{
s=s+v[i];
if(s>=mid){ki++;
s=v[i];}
}
if(ki>k)
max_saltea=mid+1;
else
suma_vol=mid;
}while(max_saltea<suma_vol);
cout<<suma_vol;
return 0;
}
