Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- long long int p;
- int X;
- long long int SPP(int x,int y) /// Intoarce suma x^2+(x+1)^2+...+y^2
- {
- --x;
- unsigned long long int S1=1ULL*x*(x+1)*(2*x+1)/6,S2=1ULL*y*(y+1)*(2*y+1)/6;
- return (long long int)(S2-S1);
- }
- int cb(int x,int y) /// Cautare binara a lui y
- {
- int m=(x+y)/2;
- if(SPP(X,m)>=p&&SPP(X,m-1)<p)
- return m;
- else
- {
- if(SPP(X,m)<p)
- return cb(m+1,y);
- if(SPP(X,m)>p)
- return cb(x,m-1);
- }
- }
- int main()
- {
- int q;
- ifstream f("spp.in");
- f>>q;
- ofstream g("spp.out");
- while(q--)
- {
- f>>X>>p;
- p*=p;
- g<<cb(X,1500000)<<'\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement