時間限制: 1 sec 記憶體限制: 128 mb
提交: 153 解決: 83
[提交][狀態][討論版][命題人: 外部匯入]
某次科研調查時得到了n個自然數,每個數均不超過1500000000(1.5*109)。已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。
輸入包含n+1行:
第1行是整數n,表示自然數的個數。
第2~n+1行每行乙個自然數。
輸出包含m行(m為n個自然數中不相同數的個數),按照自然數從小到大的順序輸出。每行輸出兩個整數,分別是自然數和該數出現的次數,其間用乙個空格隔開。
824
245100
2100
2 3
4 25 1
100 2
40%的資料滿足:1<=n<=1000
80%的資料滿足:1<=n<=50000
100%的資料滿足:1<=n<=200000,每個數均不超過1 500 000 000(1.5*109)
#include#include#includeusing namespace std;
const int maxn =200000 +5;
typedef long long ll;
ll a[maxn],n;
void sort(int left,int right)//閉區間
}while(i<=j);
if(lefti) sort(i,right);
}void print(int n)
{ int b=a[0],c=0;
for(int i=0;i>n;
for(int i=0;i//快速排序2:以中間元素來分區間
//對陣列a中的元素a[left]、a[left+1]……a[right] 排序
void sort(int a[ ],int left, int right)
{ int i,j,x,y;i=left ; j=right;
x=a[(left+right)/2]; //用中間元素
do { while ( a[i]x && j>left ) j--;
//找乙個比x小的元素a[j] if ( ii ) sort(a,i+1,right); //排序後半部分
複製可能遺漏,看上面**
統計數字 快速排序
題目描述 某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 109 已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。輸入描述 第1行是整數n,表示自然數的個數 第2 n l每行乙個自然數。輸出描述 共m行 m為...
統計數字 快速排序題解
某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 109 已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。輸入第1行是整數n,表示自然數的個數 第2 n l每行乙個自然數。輸出共m行 m為n個自然數中不相同數的...
A 統計數字
time limit 1 sec memory limit 128 mb submit 51 solved 28 submit status web board 某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 109 已知不相同的數不超過10000個,現在需要統計這些自然...