https://codeforces.com/contest/1586/problem/A
问题就是求一个一些数字的和不是质数然后满足元素个数尽可能多。
求出这些数的元素下标。
首先如果数组的和不是质数,直接输出整个数组的下标就好;
然后如果不是质数。那么这个和一定是奇数,而且在原数组中找一个奇数,抵消去掉就行。
所以我们答案只有n和n-1
int n,a[mx],sum;
void solve() {
cin>>n;
sum = 0;
_rep(i,1,n){
cin>>a[i];
sum+=a[i];
}
int ok = 0;
_rep(i,2,sqrt(sum)){
if(sum%i==0){
ok = 1;
break;
}
}
if(ok){
cout<<n<<"\n";
_rep(i,1,n) cout<<i<<" ";
puts("");
return;
}
int pos = 0;
_rep(i,1,n){
if(a[i]%2==1){
pos = i;
break;
}
}
cout<<pos<<"dd\n";
cout<<n-1<<"\n";
_rep(i,1,n){
if(i==pos) continue;
cout<<i<<" ";
}
puts("");
}