Pagini recente » Cod sursa (job #1542919) | Cod sursa (job #2655857) | Cod sursa (job #903390) | Cod sursa (job #1129629) | Cod sursa (job #2586151)
#include <iostream>
using namespace std;
int v[16005],s[16005],i,j,k,n,maxim,suma_maxima;
int transport;
bool verificare(int x)
{
int suma=0,ok=0;
for(int i=1; i<=x; i++)
{
if(suma<=x)
suma+=v[i];
else
{
suma=v[i];
ok=1;
}
}
return ok;
}
int main()
{ int m;
cin>>n>>m;
for(i=1; i<=n; i++)
{
cin>>v[i];
maxim=max(maxim,v[i]);
suma_maxima+=v[i];
}
int st=maxim;
int dr=suma_maxima;
cout<<st<<" "<<dr;
while(st<=dr)
{
int mij=(st+dr)/2;
cout<<"**mij**"<<mij<<" ";
//verfic daca suma pana la elem din mijloc e buna
if(verificare(mij))
{
dr=mij-1;
cout<<"**dr**"<<dr<<" ";
}
else
{st=st+1;
cout<<"**st**"<<st<<" ";
}
}
cout<<st;
}