Cod sursa(job #2669319)

Utilizator claudiuhamciucHamciuc Claudiud claudiuhamciuc Data 6 noiembrie 2020 19:01:38
Problema Transport Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 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){
    i=1; drum=0;
    while (drum<k){
       sum=0;
       while (i<=n && sum+v[i]<=maxim) {
         sum+=v[i];
         //fout<<v[i]<<" ";
         i++;
       }
     //fout<<endl;
     drum++;
    }
   // fout<<"i="<<i<<endl;
    if(i==n && sum+v[n]==maxim+1)
    {
        found=1;
    }
    if(i-1<n) maxim++;
    else found =1;
   }
   fout<<maxim;
    return 0;
}