Pagini recente » Cod sursa (job #1103457) | Cod sursa (job #2225232) | Rating Petrovici Dalia (daliaptv) | Cod sursa (job #1374366) | Cod sursa (job #2332776)
#include <bits/stdc++.h>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int s, mini=16001, n, i, k, v[160001];
int check(int val)
{int c=1, sum=0;
for(i=0; i<n; i++)
{sum=sum+v[i];
if(sum>val){c++; sum=v[i];}
}
if(c>k)return 0; else return 1;
}
int cautbin()
{int st=1, dr=s;
int rasp=-1;
while(st<=dr)
{int mij=(st+dr)/2;
if(check(mij))
{rasp=mij;
dr=mij-1;
}
else
st=mij+1;
}
return rasp;
}
int main()
{f>>n>>k;
for(i=0; i<n; i++)
{f>>v[i];
mini=min(mini, v[i]);
s=s+v[i];
}
g<< cautbin();
f.close();
g.close();
return 0;
}