w9095
2024-10-03 23:18:32
P11157 【MX-X6-T3】さよならワンダーランド
神秘思维题。
考虑到转化式子,拆成
第二个不等式可化为
我们枚举每一个
#include <bits/stdc++.h>
using namespace std;
long long t,n,a[500000],b[500000],p[500000];
int main()
{
scanf("%lld",&n);
for(int i=1;i<=n;i++)scanf("%lld",&a[i]),b[i]=a[i]-i,p[i]=i;
for(int i=n-1;i>=1;i--)
if(b[p[i]]<b[p[i+1]])p[i]=p[i+1];
for(int i=1;i<=n;i++)
{
long long t=max(1ll,i+a[i]);
if(t>n)printf("0\n");
else if(p[t]-i<=a[p[t]])printf("1 %lld\n",p[t]-i);
else printf("0\n");
}
return 0;
}