Page 1 of 1

### 12908 - The book thief

Posted: Mon Apr 13, 2015 9:49 pm
I solved this problem using Binary search O(Log n) using c++ and my time 0.825 out of 1.000 second, I think there is O(1) solution can any one help me with a topic or hint ??
thanks in advance ### Re: 12908 - The book thief

Posted: Tue Apr 14, 2015 12:22 am
My O(1) approach AC in 0.148 seconds.
n = number of pages in the book
x = forgotten page
s + x = n * (n + 1) / 2
Temporarily assume the minimum value of 1 for x, solve for n using the quadratic equation and round up, then x = n * (n + 1) / 2 - s

### Re: 12908 - The book thief

Posted: Sun Jul 19, 2015 8:34 am
I got TLE for the first time. And I also tried the following tips for I/O:

Code: Select all

``````ios_base::sync_with_stdio(0);
cin.tie(0);
``````
But I still got TLE. Finally, I use scanf/printf instead of cin/cout, and got Accepted with 0.142s.
In my experience, the difference between these two approaches wasn't too much. I wonder why it is not true in this problem ### 12908 - The book thief (Getting TLE)

Posted: Tue Jul 28, 2015 11:36 pm
i am getting TLE with this code, can anyone tell me why i get TLE ?
i

Code: Select all

``````    LL n,ans,mp,p,an,N,NN;
while(cin>>n)
{
if(n==0){return 0;}
NN=n*2;
ans=sqrt(NN);
N=ans+5;
for(int i=ans;i<=N;i++)
{
an=(i*(i+1))/2;
if(an>=n){p=i; mp=an-n; break;}
}
if(mp==0){p=p+1; mp=((p*(p+1))/2)-n;}
cout<<mp<<" "<<p<<endl;
}
``````

### Re: 12908 - The book thief

Posted: Wed Jul 29, 2015 4:05 pm
Yes i got it. its a realy so nice & simple problem. oj give me TLE using for cin && cout.
by the way, i got ac 