记录编号 523064 评测结果 AAAAAAAAAA
题目名称 [USACO Feb18 Bronze]Taming the Herd 最终得分 100
用户昵称 Gravatarleon 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2018-11-17 18:33:26 内存使用 0.00 MiB
显示代码纯文本
#include <iostream>
#include <algorithm>
#include <cstdio> 
using namespace std;
#define MAXN 100000
int N;
int A[MAXN];
int Main()
{    
	freopen("taming_bronze_18feb.in","r",stdin);
	freopen("taming_bronze_18feb.out","w",stdout);
	cin >> N;
	for(int i=0;i<N;i++)
		cin >> A[i];
	if(A[0] > 0)
	{
		cout << -1 << '\n';
		return 0;
	}
	A[0] = 0;
	int t = -1;
	int req = 0;
	int pos = 0;
	for(int i=N-1;i>=0;i--)
	{
		if(t != -1 && A[i] != -1 && A[i] != t)
		{
			cout << -1 << '\n';
			return 0;
		}
		if(t == -1)
			t = A[i];
		if(A[i] == -1)
			A[i] = t;
		if(A[i] == 0)
			req++;
		if(A[i] == -1)
			pos++;
		if(t > -1)
			t--;
	}
	cout << req << ' ' << req+pos << '\n';
}
int rc=Main();
int main(){;}