Бодолт илгээх | Бүх бодолтууд | Шилдэг бодолтууд | Жагсаалт руу буцах |
RGB7280 - Шинэ жилийн урамшуулал |
Нэгэн онлайнаар үйл ажилгаагаа явуулдаг байгуулга (Энэ байгуулгыг бид цаашид X гэж дуудах болно) бүх хэрэглэгчдээ шинэ жилийн урамшуулал болгож рейтинг нь нэмхээр шийджээ.
Энэ сайт нь n хэрэглэгчтэй. Хэрэглэгч бүрийн хувьд энэ шинэ жилээр болохыг хүсдэг рейтинг нь бид мэддэг. i дахь хэрэглэгчийн болохыг хүсдэг рейтинг нь ai юм.
X сайтын админууд нь маш нарийн хүмүүс учир хэрэглэгчдэд тийм их рейтинг нэмэх хүсэлгүй байгаа. Админууд нь хэрэглэгчиддээ рейтинг тогтоохдоо адилхан рейтингтэй хүн байлгахгүйн дээр нийлбэр нь хамгийн бага байхыг хүссэн.
X сайтад хэрэглэгчиддээ рейтинг тогтооход нь тусална уу.
Input
Эхний мөрөнд n (1 ≤ n ≤ 3·105) тоо өгөгдөнө. Дараагийн мөрөнд зайгаар тусгаарлагдсан n урттай a1, a2, . . . , an дараалал өгөгдөнө.
Output
b1, b2, . . . , bn дараалал хэвлэнэ. bi нь i дахь хэрэглэгчийн шинээр тогтоогдсон рейтинг болно.
Example
Input 1:
3
5 1 1
Output 1:
5 1 2
Input 2:
1
10000000
Output 2:
10000000
Нэмсэн: | Bataa |
Огноо: | 2014-01-04 |
Хугацааны хязгаарлалт: | 1s |
Эх кодын хэмжээний хязгаарлалт: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Програмчлалын хэлүүд: | ADA95 ASM32 BASH BF C NCSHARP CSHARP C++ 4.3.2 CPP C99 CLPS LISP sbcl LISP clisp D ERL FORTRAN HASK ICON ICK JAVA JS-RHINO JULIA LUA NEM NICE OCAML PAS-GPC PAS-FPC PERL PHP PIKE PRLG-swi PYTHON PYPY3 PYTHON3 RUBY SCALA SCM guile ST TCL WHITESPACE |
Эх сурвалж: | https://codeforces.com/problemset/problem/379/C |
hide comments
2024-11-08 13:20:40
#include <iostream> #include <vector> #include <algorithm> using namespace std; struct User { long long rating; int index; }; int main() { long long n; cin >> n; vector<User> users(n); for (int i = 0; i < n; i++) { cin >> users[i].rating; users[i].index = i; } sort(users.begin(), users.end(), [](const User &a, const User &b) { return a.rating < b.rating; }); vector<long long> result(n); long long last_assigned_rating = 0; for (int i = 0; i < n; i++) { if (users[i].rating > last_assigned_rating) { result[users[i].index] = users[i].rating; last_assigned_rating = users[i].rating; } else { result[users[i].index] = last_assigned_rating + 1; last_assigned_rating++; } } for (int i = 0; i < n; i++) { cout << result[i] << " "; } return 0; } |
|
2023-03-09 15:17:45
test aldaataimuu? codeforce deer davsan Last edit: 2023-03-09 15:18:19 |
|
2022-09-26 06:01:34
joe mama |
|
2020-01-20 15:53:44
10 4 5 10 5 2 14 15 6 10 6 |
|
2020-01-20 13:08:07
Last edit: 2020-01-20 13:08:41 |
|
2020-01-20 11:22:11 Bataa
1 10 2 11 3 4 7 8 6 9 |
|
2020-01-20 11:21:51 Bataa
10 1 10 1 10 1 1 7 8 6 7 |