Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
1317 | XHTX123456 | 最近距离 | C++ | 解答错误 | 1 MS | 292 KB | 378 | 2022-06-05 10:56:21 |
#include "bits/stdc++.h" using namespace std; const int N=1e5+10; int a[N],q[N],n; int main(){ cin>>n; for(int i=0;i<n;i++)scanf("%d",&a[i]); int l=-99999999; for(int i=0;i<n;i++){ if(a[i]==0){ q[i]=0; l=i; } else q[i]=i-l; } for(int i=n-1;i>=0;i--){ if(a[i]==0)l=i; if(i<l)q[i]=min(l-i,i-l); } for(int i=0;i<n;i++)cout<<q[i]<<" "; }