1083 是否存在相等的差

#define MAX 10050
int S[MAX];
int main()
{
    //freopen("D:\\文件夹\\Desktop\\use.txt","r",stdin);
    int n;scanf("%d",&n);getchar();
    memset(S,0,sizeof(S));
    int num = 0;//个数统计
    int i;
    for(i = 1;i <= n;++i){
        int t;scanf("%d",&t);
        if(S[abs(i-t)] == 0) num++;
        S[abs(i-t)] ++; 
    }

    i = 0;int j = MAX -1; //从S[j]开始
    while(i < num && j >=0){
        if( S[j]!=0 && S[j]!=1){
            if(i != 0) printf("\n");
            printf("%d %d",j,S[j]);
            i++;
        }
        j--;
    }

    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容