题解:P9412 「NnOI R1-T1」购物
lailai0916 · · 题解
解题思路
分类讨论:
- 如果
n=1 ,显然无解。 - 如果
n=2 ,因为题目保证a_1=1 ,如果a_2=2 ,支付1 元和2 元都需要1 枚硬币,所以无解。 - 如果
n>2 ,如果a_2=2 ,类似第二种情况,答案不能为2 ,所以答案最小为m=a_3 。 - 否则,
a_2 一定大于2 ,所以答案最小为m=a_2 。
参考代码
#include <bits/stdc++.h>
using namespace std;
const int N=15;
int a[N];
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
cout<<(n==1||(n==2&&a[2]==2)?-1:n>2&&a[2]==2?a[3]:a[2])<<'\n';
return 0;
}