2023-08-19 01:09:35
发布于:湖北
样例3输出应该是17
此题如果n%2==1,数列n的第k项为nk
输出=|1-n1|+|1-n2|+|1-n3|+.......+|1-nk|
#include<iostream>
using namespace std;
int abs(int x){
if(x>=0){
return x;
}else{
return -x;
}
}
int main(){
int n;
cin >> n;
int l[n];
for(int i=0;i<n;i++){
cin >> l[i];
}
if(n%2==1){
int c=0;
for(int i=0;i<n;i++){
c+=abs(1-l[i]);
}
cout << c;
}
if(n%2==0){
int c1=0,c2=0;
for(int i=0;i<n;i++){
c1+=abs(1-l[i]);
c2+=abs(1+l[i]);
}
if(c1>=c2){
cout << c2;
}else if(c1<=c2){
cout << c1;
}
}
return 0;
}
这里空空如也
有帮助,赞一个