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