比赛 近期练习题回顾 评测结果 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;
}