Cod sursa(job #3279307)

Utilizator SanduCatalinSandu Catalin SanduCatalin Data 22 februarie 2025 14:40:50
Problema Transport Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<iostream>
#include<fstream>
using namespace std;

int n,k,d;
int ok(int v[]){
    int c=0,nr=0;
    for(int i=0;i<n;i++){
        if(c+v[i]<=d){c+=v[i];}
        else{c=v[i];nr++;}
    }
    return (nr+1);
}

int main(){
    ifstream in("sport.in");ofstream out("sport.out");
    int s=0,m=0,a;in>>n>>k;int v[n];
    for(int i=0;i<n;i++){in>>v[i];if(v[i]>m){m=v[i];}s+=v[i];}
    while(m<=s){d=(m+s)/2;
        if(ok(v)>k){m=d+1;}
        else{a=d;s=d-1;}
    }out<<a;
    in.close();out.close();
    return 0;
}