题目背景
明明拍照片的时候总是喜欢站在最中间
题目描述
拍毕业照的时候,学生们分别排成了 N 排,每排人数不一定相同。
现在明明要加入拍照的队伍,但是需要满足以下两点要求:
1、必须站在某一排的 正中间 (左右两边人数一致)
2、尽可能的靠后站
编写代码判断明明应该站在第几排(从 1 算起)
输入格式
第一行,整数 N ,表示总排数
第二行,共 N 个整数 A1∼AN ,第 ii 个数表示第 ii 排的当前人数
输出格式
输出满足题目要求的情况下,明明应该站第几排
如果无法满足条件,输出 −1
样例输入
4
11 12 10 13
样例输出
3
提示与说明
对于 50% 的数据,1≤N≤1000
对于全部数据,1≤N≤1000000,1≤A<264
附表 数据类型
数据类型 | 代码表示 | 表示范围 | 内存占用 |
---|---|---|---|
整型 | int | −231∼231−1−231∼231−1 | 44 字节 |
超长整型 | long long | −263∼263−1−263∼263−1 | 88 字节 |
无符号超长整型 | unsigned long long | 0∼264−10∼264−1 | 88 字节 |
#include<iostream>
using namespace std;
unsigned long long s[1000000];
int main(){
long long n;
cin >> n;
for(long long i=1;i<=n;i++){
cin >> s[i];
}
for(long long i=n;i>=1;i--){
if(s[i]%2==0){
cout << i;
return 0;
}
}
cout << -1;
}