Cod sursa(job #2979583)

Utilizator Vlad10Vlad Negut Vlad10 Data 15 februarie 2023 16:43:27
Problema Transport Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <fstream>
#include <iostream>
using namespace std; ifstream fin ("transport.in");ofstream fout ("transport.out");int v[30001];int n,k,i,st,dr,m,x,vmax=-1,sum=0,sol=0;int calz(int cap){int j,s=0,zile=0;for(j=1;j<=n;j++){if(s+v[j]<=cap){s+=v[j];}else if(s+v[j]>cap){zile++;s=v[j];}}if(s>0)zile++;return zile;}int main(){fin>>n>>k;sum=0;for(i=1;i<=n;i++){fin>>v[i];sum+=v[i];if(v[i]>vmax)vmax=v[i];}st=vmax;dr=sum;while(st<=dr){m=(st+dr)/2;x=calz(m);if(x>k){st=m+1;}else{dr=m-1;sol=m;}}fout<<sol;return 0;}