Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
443437 黄浙峰老师 【C6-8】统计数字 I C++ 通过 100 51 MS 264 KB 1010 2026-06-06 10:00:37

Tests(4/4):


#include <iostream> using namespace std; long long a[200005]; long long temp[200005]; void merge(int l, int mid, int r){ int i = l; int j = mid + 1; int k = l; while(i <= mid && j <= r){ if(a[i] < a[j]) temp[k++] = a[i++]; else temp[k++] = a[j++]; } while(i <= mid) temp[k++] = a[i++]; while(j <= r) temp[k++] = a[j++]; for(int p = l; p <= r; p++) a[p] = temp[p]; } void merge_sort(int l, int r){ if(l >= r) return; int mid = (l + r) / 2; merge_sort(l, mid); merge_sort(mid+1, r); merge(l, mid, r); } int main(){ int n; cin >> n; for(int i = 1; i <= n; i++){ cin >> a[i]; } merge_sort(1, n); int pos = 1; while(pos <= n){ long long now = a[pos]; int cnt = 0; while(pos <= n && a[pos] == now){ cnt++; pos++; } cout << now << " " << cnt << endl; } return 0; }


测评信息: