题目描述
给出N个数字,请你把这N个数字排序,再统计下标(下标从1开始)是奇数和偶数的元素的和,如果下标为奇数的和比偶数大,输出奇数和,不然输出偶数和。记得行末换行。
1)样例1中,奇数和为400,偶数和为628,故输出628;
2)样例2中,奇数和为16,偶数和为11,故输出16;
输入输出样例
输入 #1
2
400 628
输出 #1
628
输入 #2
5
2 5 9 6 5
输出 #2
16
测试网站 https://www.luogu.com.cn/problem/AT1313
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int N;
int a[1005];
int sum1;
int sum2;
int main() {
cin>>N;
for(int i=0;i<N;i++)
{
cin>>a[i];
}
for(int i=0;i<N;i++)
{
int nmin=i;
for(int j=i+1;j<N;j++)
{
if(a[j]<a[nmin])
{
nmin=j;
}
}
if(nmin!=i)
{
swap(a[i],a[nmin]);
}
if(i%2==0) sum1+=a[i];
if(i%2!=0) sum2+=a[i];
}
if(sum1>sum2) cout<<sum1<<endl;
else cout<<sum2<<endl;
return 0;
}