Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int tab[1000005];
- int n;
- bool sprawdzanie(int y){
- int a=1;
- int b=0;
- for(int i=0; i<n; i++){
- if(y<tab[i]) return false;
- if(b+tab[i]>y){
- b=0;
- a++;
- }
- b+=tab[i];
- }
- if(a<=y) {return true;}
- else{ return false;}
- }
- int binarne(){
- int lo=0;
- int hi=1e9;
- int x;
- while(lo<=hi){
- x=(lo+hi)/2;
- if(sprawdzanie(x))hi=x-1;
- else lo=x+1;
- }
- return lo;
- }
- int main()
- {
- cin>>n;
- for(int i=0; i<n; i++){
- scanf("%d",&tab[i]);
- }
- cout<<binarne();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement