Cod sursa(job #3279288)

Utilizator SanduCatalinSandu Catalin SanduCatalin Data 22 februarie 2025 13:39:18
Problema Transport Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;

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

int main(){
    ifstream in("transport.in");ofstream out("transport.out");
    int n,k,m=0,s=0;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];}
    for(;m<=s;m++){
        if(ok(v,n,m,k)){out<<m;break;}
    }
    return 0;
}