Cod sursa(job #855543)

Utilizator ShaDoWsiD100Rzv Rzv ShaDoWsiD100 Data 15 ianuarie 2013 10:12:20
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int v[16001],i,n,k,nrt,mij,u,s,aux,p;
int main(){
    int OK=0;;
    f>>n>>k;
    for(i=1;i<=n;i++){
        f>>v[i];
        if(p<v[i])
            p=v[i];
        u=u+v[i];}
    while(p<=u){
        mij=(p+u)/2;
        nrt=1;
        s=0;
        for(i=1;i<=n;i++)
            if(s+v[i]<=mij)
                s=s+v[i];
                else{
                    nrt++;
                    s=v[i];}
        if(nrt<=k)
            u=mij-1;
            else
                p=mij+1;
        if(nrt==k){
            OK=1;
            aux=mij;}}
    if(OK==0)
        g<<mij;
        else
            g<<aux;
    return 0;}