帮卡常 差40ms 悬关
  • 板块学术版
  • 楼主HuaJunL
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/12/14 17:47
  • 上次更新2023/12/14 17:47:39
查看原帖
帮卡常 差40ms 悬关
756988
HuaJunL楼主2023/12/14 17:47

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;
}
2023/12/14 17:47
加载中...