【超时】在狐猬编程,部分结果显示我的代码超时,想请问可以怎么提高编译速度?
【我的代码】
#include
using namespace std;
int n,m,x,a[100010],sum=0;
int main(){
cin>>n>>m;
for(long i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);//排序
//把重复的去掉
for(long i=1;ifor(long j=i+1;j<=n;j++){
if(a[j]==a[i]) {
for(long k=j;k1];
}
n--;j--;
}
}
}
//选方案
for(long i=1;ifor(long j=i+1;j<=n;j++){
if(a[j]-a[i]==m) sum++;
}
}
cout<return 0;
}
【结果】
【题目】
第3题 侦察 测试数据信息
小红通过简单的计算就求出了密码打开了沙盘,于是双方使用沙盘进行了攻城模拟。现在小红有n个侦察兵部队,要从两支部队选派2个侦察兵去侦察小蓝部队驻守的城市。为了使得侦察兵能更好配合完成工作,小红认为这2个侦察兵所在的部队编号必须相差为m。
现在已知n个侦察兵的部队编号,请问小红有多少不同的选择方案(同一部队的不同士兵视为同一方案)?
输入格式
第1行,2个整数n,m(2<=n<=100000,1<=m<=50)。
第2行,n个整数,第i个整数表示第i个侦察兵的部队编号(1<=部队编号<=1000)。
输出格式
一个整数,表示不同的方案数。
输入/输出例子1
输入:
5 6
1 7 2 8 12
输出:
2
输入/输出例子2
输入:
6 8
1 1 9 9 2 8
输出:
1
样例解释
样例1解释:第1个侦察兵可以跟第2个侦察兵搭档,第3个侦察兵可以跟第4个侦察兵搭档,所以有2种不同选择方案。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
if(n==2||n==3)
{
cout<<"是素数";
}
else if(n%6!=1&&n%6!=5)
{
cout<<"不是素数";
}
else
{
for(int i=2;i*i<=n;i++)
{
if(!(n%i))
{
cout<<"不是素数" ;
return 0;
}
}
cout<<"是素数";
}
}