Guest User

Untitled

a guest
Jun 23rd, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. #include<cstdio>
  2. #include<iostream>
  3. using namespace std;
  4. int main()
  5. {
  6. int k,n,beg,end=0,wyn,tab[100000],ile;
  7. scanf("%d%d",&n,&k);
  8. for(int i=0;i<n;i++)
  9. {
  10. scanf("%d",&tab[i]);
  11. end+=tab[i];
  12. }
  13. beg=end/(k+1);
  14. k++;
  15. // printf("! %d %d\n",beg,end);
  16. int mid;
  17. while(beg<end)
  18. {
  19. mid=(beg+end+1)/2;
  20. wyn=1;
  21. ile=0;
  22. for(int i=0;i<n;i++)
  23. {
  24. ile+=tab[i];
  25. if(ile>mid)
  26. {
  27. ile=tab[i];
  28. wyn++;
  29. }
  30. }
  31. if(wyn==k)break;
  32. if(wyn>k)beg=mid;
  33. if(wyn<k)end=mid-1;
  34. // printf("%d %d %d %d\n",beg,end,mid,wyn);
  35. }
  36. printf("%d ",end);
  37. return 0;
  38. }
Add Comment
Please, Sign In to add comment