Cod sursa(job #2669310)

Utilizator claudiuhamciucHamciuc Claudiud claudiuhamciuc Data 6 noiembrie 2020 18:40:02
Problema Transport Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int n, v[16001],cv[16001],i,maxim=0,k,sum=0, drum=0, found=0,cat;
int main()
{
    fin>>n>>k;
    for(i=1;i<=n;i++){
        fin>>v[i];
        cv[i]=v[i];
        if(maxim<v[i]) maxim=v[i];
        sum+=v[i];
    }
   if(sum%k==0)
    cat = sum/k;
   else
    cat = sum/k+1;
 //   fout<<sum<<" "<<cat<<endl;
   if(maxim < cat) maxim = cat;
 //    fout<<maxim<<endl;
   while(found==0){
    sum=v[1]; i=2; drum=0;
 //   fout<<v[1]<<" ";
    while (drum<k){
     while (i<=n && sum+v[i]<=maxim) {
        sum+=v[i];
       // fout<<v[i]<<" ";
        i++;
     }
//    fout<<endl;
     drum++;
     sum=0;
    }
 //   fout<<"i="<<i<<endl;
    if(i-1<n) maxim++;
    else found =1;
   }
   fout<<maxim;
    return 0;
}