问题标题: 酷町堂:1772   A - B = C

0
0
已解决
熊智晖
熊智晖
高级天翼
高级天翼

1772   A - B = C

经验值:1200 时间限制:1000毫秒

题目描述 Description

给定 n 个数 ai,以及一个正整数 c ,问有多少对 i j,满足 ai - aj = c

输入描述 Input Description

第 1 行:整数 n 和 c
第 2 至 n+1 行:每行包含一个整数 ai

输出描述 Output Description

输出能满足 ai - aj = c 的数的对数

样例输入 Sample Input

5 3 2 1 4 2 5

样例输出 Sample Output

3

数据范围及提示 Data Size & Hint

n <= 200000,所有数字保证在32位有符号整型内。

#include<iostream>
#include<string>
using namespace std;
long long n,a[1002],b[1004],cnt=0,m;
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(a[i]-a[j]==m){
                cnt++;
            }
        }
    }
    if(cnt>0){
        cout<<cnt;
    }
    else{
        cout<<"No";
    }
    return 0;   
}

70分????


0
已采纳
王一帆
王一帆
中级守护
中级守护

 int n,a[],c,s;  cin>>n>>c;

for

(int

i=1;

i<=n;i++){ cin>>a[i]; }

sort(a+1,a+n+1); for(in

t i=1;i<

=n;i++){ for(int j=

i+1;j<=n;j++

){ if(a[j]

-a[i]==c){ s++; } i

f(a[j]-a[i]>c){ break

; } } } cout<<s; re

turn 0; }

0
0
我要回答