Cod sursa(job #2257069)
| Utilizator | Data | 9 octombrie 2018 16:32:46 | |
|---|---|---|---|
| Problema | Transport | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream be("transport.in");
ofstream ki("transport.out");
int sim(int t[],int n, int m, int k)
{ int f=1,s=t[0];
for(int i=1;i<n;i++)
if((t[i]+s)<=m) s=s+t[i];
else {f++;
s=t[i]; }
if(f==k) return 1;
else return 0;
}
int main()
{ int n,k,t[16000],i,m,ossz=0,maxi=0;
be>>n>>k;
for(i=0;i<n;i++){
be>>t[i];
ossz=ossz+t[i];
if(maxi<t[i]) maxi=t[i];}
be.close();
m=maxi;
while(sim(t,n,m,k)!=1)
m++;
ki<<m;
ki.close();
}
