Cod sursa(job #1317515)

Utilizator roberta9533Pavel Roberta roberta9533 Data 14 ianuarie 2015 22:46:03
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include<fstream>
int n,m,i,v[16001],d,x,s,k,t=0,nr,q,p,ok=0,y;
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int verif(int x,int k)
{
    int s=0;nr=1;q=0;
    while(nr<=n)
    {
        while(s+v[nr]<=x&&nr<=n)
        {
            s=s+v[nr];
            nr++;
        }
    q++;
    if(q>k) return 0;
    s=0;}
    return 1;
}

int main()
{
    f>>n>>k;
    for(i=n;i>=1;i--)
    {
        f>>v[i];
        t=t+v[i];
    }
    s=v[n];
    d=t;
    while(s<=d)
    {
        m=(s+d)/2;
        if(verif(m,k)==1) {y=m; d=m-1;}
        else s=m+1;

    }
    g<<y;
}