Cod sursa(job #3279296)

Utilizator SanduCatalinSandu Catalin SanduCatalin Data 22 februarie 2025 14:01:11
Problema Transport Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<iostream>
#include<fstream>
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(nr>k){return false;}
    }
    if(nr+1<=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;}
    }
    in.close();out.close();
    return 0;
}