RT 我有一道题 写出来时间复杂度是O(n) 但是因为时间是666ms 卡得很紧 差40ms 所以求卡常 自己试了几个都挂了
#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize(2)
int arr[10000+5];
inline int read(){
register int x = 0, t = 1;
register char ch=getchar(); // 读入单个字符到寄存器
while(ch<'0'||ch>'9'){
if(ch=='-')
t=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48); // 移位与异或
// 第十行可以换成 x = x * 10 + ch - '0'
ch=getchar();
}
return x*t;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int op=1;
int n;
while(cin>>n){
int ans=0;
for(int i=1;i<=n;i++){
read(arr[i]);
if(i>1&&arr[i]>arr[i-1])ans+=arr[i]-arr[i-1];
}
// for(int i=2;i<=n;i++){
// cout<<ans<<endl;
// }
// cout<<ans<<endl<<endl;
cout<<"Task"<<op<<": ";
if(ans==0){
cout<<"Poor LJS\n";
}
else cout<<ans<<'\n';
op++;
}
return 0;
}