Mai intai trebuie sa te autentifici.
Cod sursa(job #2561640)
Utilizator | Data | 29 februarie 2020 00:44:32 | |
---|---|---|---|
Problema | Transport | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.91 kb |
#include <iostream>
#include <fstream>
using namespace std;
int mij,n,k,a[16021],p=0;
ifstream f("transport.in");
ofstream g("transport.out");
int verif(int y)
{
int drum=1,tr=0,i;
for (i=1;i<=n && drum<=k;i++)
{
tr=tr+a[i];
if (tr>a[i])
{
tr=a[i];
drum++;
}
}
if (drum<=k) return 1;
else return 0;
}
void caut_bin(int st, int dr)
{
while (st<=dr)
{
mij=(st+dr)/2;
if (st<=dr)
{
p=mij;
dr=mij-1;
}
else
{
st=dr-1;
}
}
}
int main ()
{
int mx=0,s=0,i;
cin>>n>>k;
for (i=1;i<=n;i++)
{
cin>>a[i];
}
for (i=1;i<=n;i++)
{
s=s+a[i];
if (a[i]>mx)
{
mx=a[i];
}
}
caut_bin(mx,s);
cout<<p;
}