Cod sursa(job #2222234)

Utilizator AndreiDeltaBalanici Andrei Daniel AndreiDelta Data 16 iulie 2018 18:30:40
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <bits/stdc++.h>
#define Dim 16001
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
long N,K,Saltele[Dim],sum[Dim];
bool stop=1;

int main()
{
    f>>N>>K;
    for(int i=1;i<=N;i++) f>>Saltele[i],sum[i]=sum[i-1]+Saltele[i];
    for(long C=Saltele[1];C<=sum[N]&&stop==1;C++)
    {
        int drum,reper=0;
        for(int i=0;i<=N&&drum<=K;i++)
        {
            if(sum[i+1]-sum[reper]>C)
            reper=i+1,drum++;
          if(drum==K&&i==N) g<<C,stop=0;
          if(drum>K) break;
        }
    }
    return 0;
}