#19761: 求救:TLE


089487 (089487)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 82069
來源 : [140.112.150.137]
最後登入時間 :
2024-10-03 16:28:37
a091. 今晚打老虎 | From: [223.140.121.206] | 發表日期 : 2019-10-27 21:18

經過優化還是不行

#include<bits/stdc++.h>
using namespace std;
int readint();
void print(int);
int main()
{
list<int>l;
int r;
while(r=readint())
{
if(r==1)
{
r=readint();
if(l.empty()) l.push_back(r);
else l.insert(upper_bound(l.begin(),l.end(),r),r);
}
else if(r==2)
{
print(l.back());
l.pop_back();
}
else
{
print(l.front());
l.pop_front();
}
}
}
inline int readint()
{
char c='0';
int a=0;
c=getchar_unlocked();
while(c>='0'&&c<='9')
{
a=(a<<3)+(a<<1)+c-'0';
c=getchar_unlocked();
}
return a;
}
inline void print(int n)
{
if(!n) {putchar_unlocked(48);putchar_unlocked('\n');return;
}
char c[10];
int len=0;
while(n>0)
{
c[len]=n%10+48;
len++;
n/=10;
}
for(int i=len-1;i>=0;i--) putchar_unlocked(c[i]);
putchar_unlocked('\n');
return;
}

 
#19763: Re:求救:TLE


easylin0126@gmail.com (林榮翼)

學校 : 臺北市立成功高級中學
編號 : 89424
來源 : [123.195.45.59]
最後登入時間 :
2024-09-18 00:06:06
a091. 今晚打老虎 | From: [39.8.190.112] | 發表日期 : 2019-10-28 13:27

經過優化還是不行

#include<bits/stdc++.h>
using namespace std;
int readint();
void print(int);
int main()
{
listl;
int r;
while(r=readint())
{
if(r==1)
{
r=readint();
if(l.empty()) l.push_back(r);
else l.insert(upper_bound(l.begin(),l.end(),r),r);
}
else if(r==2)
{
print(l.back());
l.pop_back();
}
else
{
print(l.front());
l.pop_front();
}
}
}
inline int readint()
{
char c='0';
int a=0;
c=getchar_unlocked();
while(c>='0'&&c<='9')
{
a=(a<<3)+(a<<1)+c-'0';
c=getchar_unlocked();
}
return a;
}
inline void print(int n)
{
if(!n) {putchar_unlocked(48);putchar_unlocked('\n');return;
}
char c[10];
int len=0;
while(n>0)
{
c[len]=n%10+48;
len++;
n/=10;
}
for(int i=len-1;i>=0;i--) putchar_unlocked(c[i]);
putchar_unlocked('\n');
return;
}

我也很好奇:為什麼list過不了,兩個heap+set竟然可以過!


 
ZeroJudge Forum