Cod sursa(job #1012664)

Utilizator Iulia_ivanaIulia Ivana Iulia_ivana Data 19 octombrie 2013 14:57:49
Problema Transport Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<fstream>
using namespace std;

ifstream in("transport.in");
ofstream out("transport.out");

int v[16001],n,k,l=0,r=0,cnt=0,ok=1;

int verif2(int x)
{
    int s=0,g=1;
    for(int i=1; i<=n; i++)
    {
        s+=v[i];
        if(s>x)
        {
            g++;
            s=0;
            i--;
        }
    }
    if(g<=k) return 1;
    return 0;
}
int main()
{
    int mid=0;
    in>>n>>k;
    for(int i=1 ;i<=n; i++)
    {
        in>>v[i];
        r+=v[i];
        if(v[i]>l) l=v[i];
    }


    int aux;
    while(l<r)
    {
        mid=(l+r)/2;
        if(verif2(mid)==0)
            l=mid+1;
        else
        {
            r=mid-1;
        }
    }
   /* for(int i=l; i<=r; i++)
    {
        if(verif2(i)==1)
        {
                out<<i;
                break;
        }
    }*/
    out<<l;
    in.close();
    out.close();
    return 0;
}