Cod sursa(job #2332776)

Utilizator DenisaCantuCantu Denisa DenisaCantu Data 31 ianuarie 2019 11:19:11
Problema Transport Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int s, mini=16001, n, i, k, v[160001];
int check(int val)
{int c=1, sum=0;
 for(i=0; i<n; i++)
   {sum=sum+v[i];
   if(sum>val){c++; sum=v[i];}
   }
 if(c>k)return 0; else return 1;
 }
int cautbin()
{int st=1, dr=s;
int rasp=-1;
while(st<=dr)
  {int mij=(st+dr)/2;
  if(check(mij))
    {rasp=mij;
    dr=mij-1;
    }
 else
    st=mij+1;
  }
 return rasp;
}
int main()
{f>>n>>k;
for(i=0; i<n; i++)
    {f>>v[i];
    mini=min(mini, v[i]);
    s=s+v[i];
    }
g<< cautbin();
f.close();
g.close();

    return 0;
}