数据过水
查看原帖
数据过水
1014548
Andy_WA楼主2024/6/24 17:20

正解:

#include<bits/stdc++.h>
using namespace std;
int n,a[60],x;
int main(){
	cin>>n;
	for(int i=0;i<n;i++) cin>>a[i];
	x=a[0];
	for(int i=1;i<n;i++){
		x*=a[i];
		if(x>1000000){
			cout<<">1000000"<<endl;
			return 0;
		}
	}
	cout<<x<<endl;
	return 0;
}

不考虑 x>1000000 的情况,代码如下:

#include<bits/stdc++.h>
using namespace std;
int n,a[60],x;
int main(){
	cin>>n;
	for(int i=0;i<n;i++) cin>>a[i];
	x=a[0];
	for(int i=1;i<n;i++){
		x*=a[i];
	}
	cout<<x<<endl;
	return 0;
}

https://www.luogu.com.cn/record/163002157 96pts

甚至,

#include<bits/stdc++.h>
using namespace std;
int n,a[60],x;
int main(){
	cin>>n;
	for(int i=0;i<n;i++) cin>>a[i];
	x=a[0];
	for(int i=1;i<n;i++){
		x*=a[i];
		if(x>1700000000){//并非极限数据
			cout<<">1000000"<<endl;
			return 0;
		}
	}
	cout<<x<<endl;
	return 0;
}

https://www.luogu.com.cn/record/163002456 依然是100pts

或者是:

#include<bits/stdc++.h>
using namespace std;
int n,a[60],x;
int main(){
	cin>>n;
	for(int i=0;i<n;i++) cin>>a[i];
	x=a[0];
	for(int i=1;i<n;i++){
		x*=a[i];
		if(x>=1000000){
			cout<<">1000000"<<endl;
			return 0;
		}
	}
	cout<<x<<endl;
	return 0;
}

多打了一个等于号,依然是100pts https://www.luogu.com.cn/record/163002661

可以加入测试样例:

Input 1

5
100
10
10
10
10

Output 1

1000000

Input 2

2
500001
2

Output 2

>1000000
2024/6/24 17:20
加载中...