30pts,求调
查看原帖
30pts,求调
1060003
xiyu000楼主2024/11/7 10:42
#include<bits/stdc++.h>
using namespace std;
const int N = 1000005 ;
long long is_lucky[N+5],idx;
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    long long n , m ;
    cin >> m >> n ;
    for(long long i = 1 ; i <= 1000005/i ; i++){
    	if(i*i>=m){
    		is_lucky[++idx]=i*i;
    		for(long long j = 1 ; j <= 1000005/is_lucky[idx] ;j++){
				is_lucky[++idx]=i*i*j;
			}
		}
	}
	sort(is_lucky+1,is_lucky+idx+1);
	while(n--){
		int x ;
		cin >> x ;
		bool flag = 0 ;
		for(long long i = 1 ; i <= idx ; i++){
			if(x==is_lucky[i]){
				cout << "lucky"<<endl;
				flag = 1 ;
				break;
			}
		}
		if(!flag){
			for(long long i = 1 ; i <= idx ; i++){
				if(x<is_lucky[i]){
					cout << is_lucky[i]<<endl;
					break;
				}
			}
		}
	}
	return 0 ;
}

2024/11/7 10:42
加载中...