初级光能
1772 A - B = C经验值:800
题目描述 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位有符号整型内。
int n,c,a[200010],t=0,s;
cin>>n>>c;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+1+n);
for(int i=1;i<=n;i++){
if(a[i]>c){
s=i;
break;
}
}
for(int i=s;i<=n;i++){
for(int j=1;j<=s;j++){
if(a[i]-a[j]==c){
t++;
cout<<a[i]<<" "<<a[j]<<" ";
}
}
}
cout<<t;
李鑫羽在2020-07-19 20:44:59追加了内容
@刘乐宸
- #include<iostream>
- using namespace std;
- int main(){
- int n,c,a[200010],t=0;
- cin>>n>>c;
- for(int i=1;i<=n;i++){
- cin>>a[i];
- }
- for(int i=1;i<=n;i++){
- if(a[i]>=c){
- for(int j=1;j<=n;j++){
- if(a[i]-a[j]==c){
- t++;
- }
- }
- }
- }
- cout<<t;
- return 0;
- }
- Time Limit Exceeded:80分,而且不要网址
李鑫羽在2020-08-02 18:11:41追加了内容
发代码或找错
李鑫羽在2020-08-16 19:32:07追加了内容
顶
李鑫羽在2020-08-16 20:22:36追加了内容
额
李鑫羽在2020-08-23 10:09:49追加了内容
顶
李鑫羽在2020-09-07 19:36:39追加了内容
顶
李鑫羽在2020-10-02 10:28:31追加了内容
结贴
李鑫羽在2020-10-02 10:28:44追加了内容
结贴
李鑫羽在2020-10-02 10:28:55追加了内容
结贴
李鑫羽在2020-10-02 10:29:41追加了内容
1
李鑫羽在2020-10-02 10:29:49追加了内容
1
李鑫羽在2020-10-02 10:29:56追加了内容
1
中级光能
不用这么麻烦
- int n,c,a[200001],b[10000000],num=0;
- cin>>n>>c;
- for(int i=1;i<=n;i++){
- cin>>a[i];
- }
- for(int i=1;i<=n;i++)
- b[a[i]+c]++;
- for(int i=1;i<=n;i++)
- num+=b[a[i]];
输出num即可,这题要用桶
中级守护
e~看了楼上说的种种发现好像不用那么难吧!我来告诉你一点小思路吧:你可以先sort这个数组(头文件别忘了),再去循环,你要注意j不是从1开始!!!!!j它应该是从i+1开始的,因为j从1开始会有很多重复的,会导致超时!!!然后数组已经从小到大排序了,这样我们就可以用后面一个数(即a[j])减去前面一个数(即a[i]),因为数组已经从小到大排序了,后面的数是比前面的数大的,所以你不用担心减成负数,然后我们可以在加一个else if,可以减少运行时间,else if里呢就是说如果后面的数减前面的数已经大于结果了,那就可以直接break了,因为后面的数会比他更大,再减这个数肯定还是比结果大的
望采纳~
高级光能
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~
望采纳~