1 条题解
-
-1
#include <bits/stdc++.h>//万能头文件 using namespace std; map <int,int> m; int a[100010]; int main() { int n,i; cin>>n; //求每个数字出现的次数 for(i = 1;i <= n;i++) { cin>>a[i]; //如果x在map中没有出现过 if(m.count(a[i]) == 0) { m[a[i]] = 1; } else { m[a[i]]++; } } int c = 1,t; //修正名次 for(map<int,int>::reverse_iterator j = m.rbegin();j != m.rend();j++) { t = j->second; m[j->first] = c; c = c + t; } //输出结果 for(i = 1;i <= n;i++) { printf("%d\n",m[a[i]]);//输出 } return 0; }//代码已AC
信息
- ID
- 539
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 递交数
- 4
- 已通过
- 4
- 上传者