Cod sursa(job #2222234)
| Utilizator | 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;
}
