C. New Year Ratings Change
来源:互联网 发布:长袖连衣裙淘宝网秋季 编辑:程序博客网 时间:2024/05/22 06:47
理解题意是关键。。。。
思路:
1、先把A数列排序,用pair或struct,记录好数值和下标的对应关系;
2、然后把A数列最小的值开始填到B数列,第一个最小的值直接填到B就可以了;
3、然后把A数列当前的值和上一个填写值比较,填写较大值到B数列中;
4、利用已经记录好的下标就可以快速定位需要填写在B数列中的那个位置了。
#include <stdio.h>#include<algorithm>using namespace std;const int maxn=300009;struct ratings{ int id; int ra; int ans;}s[maxn];int cmpid(ratings x,ratings y){ return x.id<y.id;}int cmpra(ratings x,ratings y){ return x.ra<y.ra;}int main(){ int n,i; while(scanf("%d",&n)==1) { for(i=1;i<=n;i++) { scanf("%d",&s[i].ra);//输入ra s[i].id=i;//记录id } sort(s+1,s+n+1,cmpra);//对ra进行排序 int cur=s[1].ra; for(i=1;i<=n;i++) { if(s[i].ra<=cur) { s[i].ans=cur; cur++; } else { s[i].ans=s[i].ra; cur=s[i].ra+1; } } sort(s+1,s+n+1,cmpid); for(i=1;i<n;i++) printf("%d ",s[i].ans); printf("%d\n",s[i].ans); } return 0;}
0 0
- C. New Year Ratings Change
- C. New Year Ratings Change
- codeforces-379C. New Year Ratings Change
- 379C - New Year Ratings Change 贪心
- Codeforces-379C-New Year Ratings Change
- Codeforces 379C New Year Ratings Change(模拟)
- codeforce 379C New Year Ratings Change 题解
- CodeForces 379C -- D - New Year Ratings Change
- codeforces 379CNew Year Ratings Change(MAP的用法)
- C. New Year Book Reading
- C. New Year Book Reading
- C. New Year and Domino
- Codeforces 500C New Year Book Reading
- CodeForces 140C - New Year Snowmen
- C. New Year Snowmen --优先队列
- Codeforces 500C New Year Book Reading
- CF 500C New Year Book Reading
- codeforces-611C-New Year and Domino
- 一年又一年--2014年终总结
- 生产者消费者的java实现
- 易景地球三维地下效果图
- 《javascript权威指南》读书笔记(2)—表达式和运算符
- UNIX网络编程daytimetcpcli.c运行笔记
- C. New Year Ratings Change
- uva 725 - Division
- 关于为什么保存Transform等引用效率会更高
- Nginx和apache实现反向代理
- 高通ATHEROS AR93XX AP无线驱动介绍3
- 解决mingw动态库在vs下调用 release版本中会出现的奇怪问题
- Oracle 11g R2 rac通过rman 恢复到单实例数据库
- JavaNIO
- Jsoup使用手册