#include<stdio.h>
#include <memory.h>
int main()
{
int t,r=0,f=0;
scanf("%d",&t);
//cin>>t;
long long int n[t];
memset(n,0,t);
while(t--)
{
int a;
long long int b;
scanf("%d%lld",&a,&b);
//cin>>a>>b;
if(a==1)
{
//cin>>b;
n[r]=b;
r++;
}
else
{
int k=0;
while(f<r&&n[f]<=b) f++;
if(f==r ){printf("0\n");continue;
}
n[f]-=b;
//*v.begin()-=b;
//k::iterator i=v.begin();
//i++;
for(int i=f+1;i<r;i++)
{
if(n[i]<=b) {k++;
}
n[i]-=b;
}
printf("%d\n",k);
}
}
return 0;
}
你Code長這樣 你看不會吐血 別人看了會
各種 iterate 和 loop 當然會 TLE
可以考慮讓數字是有序的 (hint: priority_queue)
這樣處理起來就可以降到 lgN