fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define int long long
  4. signed main()// no idea if this correct or not
  5. {
  6. int n,k;
  7. cin>>n>>k;
  8. int l=1,r=1e10,mid;
  9. while(l<=r)
  10. {
  11. mid=l+(r-l)/2;
  12. int y=((mid*(mid+1))/2-k);
  13. if(y>=0)
  14. {
  15. if(mid+y==n)
  16. {
  17. cout<<y;
  18. return 0;
  19. }
  20. else if(mid+y>n)
  21. {
  22. r=mid-1;
  23. }
  24. else
  25. l=mid+1;
  26. }
  27. else
  28. l=mid+1;
  29. }
  30. // for(int i=1;i<=20;i++)//test the brute force idea
  31. // {
  32. // int y=(i*(i+1))/2-k;
  33. // if(i+y==n)
  34. // cout<<y;
  35. // }
  36. }
  37.  
  38. /*
  39.  
  40. 5 0
  41.  
  42. +1 +2 -1 -1 -1
  43.  
  44. */
Success #stdin #stdout 0.01s 5296KB
stdin
Standard input is empty
stdout
Standard output is empty