| 比赛 | 近期练习题回顾 | 评测结果 | AAAAAAAAAA | 
    | 题目名称 | Taming the Herd | 最终得分 | 100 | 
    | 用户昵称 | 梦那边的美好ET | 运行时间 | 0.005 s | 
    | 代码语言 | C++ | 内存使用 | 13.66 MiB | 
    | 提交时间 | 2018-10-31 07:40:31 | 
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int n,f[110],ans1=0,ans2=0,bk[110];
int main(){
    freopen("taming_bronze_18feb.in","r",stdin);
    freopen("taming_bronze_18feb.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&f[i]);
        if(f[i]>=0){
		    if(!bk[i-f[i]])ans1++,ans2++,bk[i-f[i]]=1;
        	for(int j=i-f[i];j<=i;j++){
                    if(f[j]!=j-i+f[i]&&f[j]!=-1){printf("-1");return 0;}
                    f[j]=j-i+f[i];
                }
        }
    }
    int ju=0;
    for(int i=1;i<=n;i++){
    	if(f[i]==-1){
    		ans2++;
    		if(!ju&&f[i+1]!=-1)ans1++;
    	}
    	else ju=1;
    }
    printf("%d %d",ans1,ans2);
    return 0;
}