Cod sursa(job #1077038)

Utilizator Catalina_BrinzaBrinza Catalina Catalina_Brinza Data 10 ianuarie 2014 20:31:50
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
//
//  main.cpp
//  transport
//
//  Created by Catalina Brinza on 10/31/13.
//  Copyright (c) 2013 Catalina Brinza. All rights reserved.
//


#include <fstream>
#define nru 16001
using namespace std;

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

int main()
{long long i,s=0,sum,timp,mij,ma=0;
    int n,k;
    
    int a[nru];

    f>>n>>k;
    ma=0;
    for (i=1;i<=n;i++){ f>>a[i];s+=a[i];
        if (a[i]>ma) ma=a[i];}
while (ma<s)
{
    mij=ma+(s-ma)/2;
    sum=0;
    timp=1;
    for (i=1;i<=n;++i)
    {
        if (sum+a[i]<=mij) sum+=a[i];
        else{
            sum=a[i];timp++;
        }
    }
    if (timp>k) ma=mij+1;
    else s=mij;
}

    return 0;
}