問題描述 給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。 輸入格式 輸入的第一行包含一個整數n,表示給定整數的個數。 第二行包含所給定的n個整數。 輸出格式 輸出一個整數,表示值正好相差1的數對的個數。 樣例輸入 6 10 2 6 3 7 8 樣例輸出 3 樣例說明 值正好相差1的數對包括(2, 3), (6, 7), (7, 8)。 評測用例規(guī)模與約定 1<=n<=1000,給定的整數為不超過10000的非負整數。
大眼一看覺得很復雜,然后告訴自己這是第一題啊第一題,很簡單很簡單,然后就有思路了,然后注意一下數組范圍,就ok了
#include <iostream>#include <stdio.h>#include <queue>#include <algorithm>#include <cmath>#include <string>using namespace std;int a[10010];int main(){ int n; cin>>n; int num; int maxn=10010; int minn=0; for(int i=0;i<n;i++) { cin>>num; a[num]++; if(num>maxn) maxn=num; if(num<minn) minn=num; } int sum=0; for(int i=minn;i<maxn;i++) { sum=sum+min(a[i],a[i+1]); } cout<<sum<<endl; return 0;}
|
新聞熱點
疑難解答