Cod sursa(job #2979592)

Utilizator Vlad10Vlad Negut Vlad10 Data 15 februarie 2023 16:48:41
Problema Transport Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <fstream>
using namespace std; ifstream f ("transport.in");ofstream c ("transport.out");int v[16001];int n,k,i,st,dr,m,x,vmax=-1,sum=0,sol=0;int calz(int cap){int j,s=0,z=0;for(j=1;j<=n;j++){if(s+v[j]<=cap){s+=v[j];}else if(s+v[j]>cap){z++;s=v[j];}}if(s>0)z++;return z;}int main(){f>>n>>k;sum=0;for(i=1;i<=n;i++){f>>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;}}c<<sol;}