#19338: 求救:TLE


089487 (089487)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 82069
來源 : [220.130.10.185]
最後登入時間 :
2024-04-01 11:16:18
e407. 買包子 (Bun) -- 108學年度板橋高中校內資訊學科能力競賽 | From: [114.136.201.66] | 發表日期 : 2019-09-25 18:38

#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;
}

 
#19444: Re:求救:TLE


310573sao (Jiburiru)

學校 : 新北市立板橋高級中學
編號 : 48055
來源 : [59.127.176.2]
最後登入時間 :
2020-04-01 20:44:03
e407. 買包子 (Bun) -- 108學年度板橋高中校內資訊學科能力競賽 | From: [59.127.176.2] | 發表日期 : 2019-10-01 10:12

你Code長這樣 你看不會吐血 別人看了會

各種 iterate 和 loop 當然會 TLE

可以考慮讓數字是有序的 (hint: priority_queue)

這樣處理起來就可以降到 lgN

 
 
ZeroJudge Forum