0
已解决
于子轩
初级守护
初级守护
章节
题库
排名
作业
考试
网络课
商城
搜索题库
于子轩 (酷町币:122)
1772 A - B = C
Time Limit Exceeded:80分
于子轩的测评结果:
测试点#1 测评结果 : Accepted 时间 : 0ms
测试点#2 测评结果 : Accepted 时间 : 4ms
测试点#3 测评结果 : Accepted 时间 : 4ms
测试点#4 测评结果 : Accepted 时间 : 0ms
测试点#5 测评结果 : Accepted 时间 : 4ms
测试点#6 测评结果 : Accepted 时间 : 8ms
测试点#7 测评结果 : Accepted 时间 : 0ms
测试点#8 测评结果 : Accepted 时间 : 4ms
测试点#9 测评结果 : Time Limit Exceeded 时间 : 1992ms 偷看一下数据
测试点#10 测评结果 : Time Limit Exceeded 时间 : 1996ms 偷看一下数据
我的提交(cpp):
#include <iostream>
using namespace std;
void How_many(int a[],int n,int c)
{
int count=0;
for(int i=1;i<=n-1;i++)
{
for(int j=i+1;j<=n;j++)
{
if(a[i]-a[j]==c)
count++;
else if(a[j]-a[i]==c)
count++;
}
}
cout<<count;
}
int main()
{
int a[200010],n,c;
cin>>n>>c;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
How_many(a,n,c);
return 0;
}
测试点#9测评结果 : Time Limit Exceeded时间 : 1992ms偷看一下数据
测试点#10测评结果 : Time Limit Exceeded时间 : 1996ms偷看一下数据
0
已采纳
王星河
资深光能
资深光能
以下是定义: long long ans; map<int,int> a; int n,c,num[200005];
以下是处理:
for(int i=1;i<=n;i++){ scanf("%d",num+i); a[num[i]]++; } for(int i=1;i<=n;i++) ans+=a[num[i]+c];
(我没有发布整段代码)
王星河在2018-01-31 21:21:15追加了内容
另外输入输出要改成 scanf() 和 printf() 。
0
梁锦程
高级光能
高级光能
int n,c,a[200001],b[10000000];
输入。。。
for(i=1;i<=n;i++)
b[a[i]+c]++;
for(i=1;i<=n;i++)
num+=b[a[i]];
cout<<num;
0
0
0
陆麟瑞
资深天翼
资深天翼
要用map滚动数组!!!
for(int i=1; i<=n; i++) { cin>>a[i]; b[a[i]]++; } for(int i=1; i<=n; i++) if(b[a[i]+m]) { s+=b[a[i]+m]; }
b的定义:
map<int,int>b;
头文件
#include <bits/stdc++.h>
0
0
0
0