1. 程式人生 > >luogu 1097

luogu 1097

return == color std 判斷 重置 main mes urn

排序一遍,保證數值相同的數放在一起。

直接枚舉每一個數判斷和前面的數是否相同:相同就累加數量;否則就輸出,然後把數量重置為1。

#include"cstdio"
#include"cctype"
#include"algorithm"
using namespace std;
int read()
{
    int c,x=0; while(!isdigit(c=getchar()));
    while(x=x*10+c-0,isdigit(c=getchar()));
    return x;
}
int a[200001];
int main()
{
    int n=read();
    
for(int i=1; i<=n; i++) a[i]=read(); sort(a+1,a+n+1); int now=1,pre=a[1]; for(int i=2; i<=n; i++) if(a[i]==pre) now++; else printf("%d %d\n",pre,now),pre=a[i],now=1; printf("%d %d\n",pre,now); return 0; }

luogu 1097