Good Bye 2013 C
1 second
256 megabytes
standard input
standard output
One very well-known internet resource site (let's call it X) has come up with a New Year adventure. Specifically, they decided to give ratings to all visitors.
There are n users on the site, for each user we know the rating value he wants to get as a New Year Present. We know that user i wants to get at least ai rating units as a present.
The X site is administered by very creative and thrifty people. On the one hand, they want to give distinct ratings and on the other hand, the total sum of the ratings in the present must be as small as possible.
Help site X cope with the challenging task of rating distribution. Find the optimal distribution.
The first line contains integer n (1 ≤ n ≤ 3·105) — the number of users on the site. The next line contains integer sequence a1, a2, ..., an (1 ≤ ai ≤ 109).
Print a sequence of integers b1, b2, ..., bn. Number bi means that user i gets bi of rating as a present. The printed sequence must meet the problem conditions.
If there are multiple optimal solutions, print any of them.
3
5 1 1
5 1 2
1
1000000000
1000000000
#include <iostream>
#include <stdio.h>
#include <string>
#include <string.h>
#include <algorithm>
#include <stdlib.h>
#include <vector>
using namespace std;
typedef long long LL ; const int Max_N = ;
struct Node{
int num ;
int id ;
friend bool operator < (const Node A ,const Node B){
return A.num < B.num ;
}
};
Node node[Max_N] ;
int ans[Max_N] ; int main(){
int n , i;
scanf("%d",&n) ;
for(i = ; i <= n ; i++){
node[i].id = i ;
scanf("%d",&node[i].num) ;
}
sort(node+ ,node++n) ;
ans[node[].id] = node[].num ;
for(i = ; i <= n ; i++){
if(node[i].num <= node[i-].num)
node[i].num = node[i-].num + ;
ans[node[i].id] = node[i].num ;
}
printf("%d",ans[]) ;
for(i = ; i <= n ; i++)
printf(" %d",ans[i]) ;
puts("") ;
return ;
}
最新文章
- c#smtp多线程
- bzoj3572又TM是网络流
- Areas on the Cross-Section Diagram
- 使用POWERDESIGNER设计数据库的20条技巧(转)
- 使用powershell为物理网卡添加多个IP地址
- java/Android 接口调用的几种写法
- Linux MySql install and use with c++
- yii学习第一课 《命名空间》
- android 解析json数据格式(转)
- android 自定义组件
- MAC OS下使用Xcode进行GLSL编程的配置过程
- 【JavaScript】AJAX总结(异步JavaScript和XML)
- 脱机BT transmission
- tensorflow分类-【老鱼学tensorflow】
- HTML 中使用 JavaScript
- flowable6.4.1+springboot使用dmn
- clickhouse安装使用文档
- rabbitmq使用(三)
- Install hadoop on windows(non-virtual machine, such cygwin)
- object-c语法