問題描述 給定n個不同的整數(shù),問這些數(shù)中有多少對整數(shù),它們的值正好相差1。 輸入格式 輸入的第一行包含一個整數(shù)n,表示給定整數(shù)的個數(shù)。 第二行包含所給定的n個整數(shù)。 輸出格式 輸出一個整數(shù),表示值正好相差1的數(shù)對的個數(shù)。 樣例輸入 6 10 2 6 3 7 8 樣例輸出 3 樣例說明 值正好相差1的數(shù)對包括(2, 3), (6, 7), (7, 8)。 評測用例規(guī)模與約定 1<=n<=1000,給定的整數(shù)為不超過10000的非負整數(shù)。
大眼一看覺得很復(fù)雜,然后告訴自己這是第一題啊第一題,很簡單很簡單,然后就有思路了,然后注意一下數(shù)組范圍,就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;}
|
新聞熱點
疑難解答