Pagini recente » Cod sursa (job #1089135) | Cod sursa (job #2794982) | Cod sursa (job #865283) | Cod sursa (job #1369060) | Cod sursa (job #1077038)
//
// main.cpp
// transport
//
// Created by Catalina Brinza on 10/31/13.
// Copyright (c) 2013 Catalina Brinza. All rights reserved.
//
#include <fstream>
#define nru 16001
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int main()
{long long i,s=0,sum,timp,mij,ma=0;
int n,k;
int a[nru];
f>>n>>k;
ma=0;
for (i=1;i<=n;i++){ f>>a[i];s+=a[i];
if (a[i]>ma) ma=a[i];}
while (ma<s)
{
mij=ma+(s-ma)/2;
sum=0;
timp=1;
for (i=1;i<=n;++i)
{
if (sum+a[i]<=mij) sum+=a[i];
else{
sum=a[i];timp++;
}
}
if (timp>k) ma=mij+1;
else s=mij;
}
return 0;
}