| Task: | Lisäykset |
| Sender: | pupukani |
| Submission time: | 2025-11-29 12:43:14 +0200 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | 53 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 20 |
| #2 | ACCEPTED | 33 |
| #3 | TIME LIMIT EXCEEDED | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #2 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #3 | ACCEPTED | 0.00 s | 1, 3 | details |
| #4 | ACCEPTED | 0.00 s | 1, 3 | details |
| #5 | ACCEPTED | 0.02 s | 1, 3 | details |
| #6 | ACCEPTED | 0.05 s | 2, 3 | details |
| #7 | ACCEPTED | 0.05 s | 3 | details |
| #8 | ACCEPTED | 0.05 s | 3 | details |
| #9 | ACCEPTED | 0.09 s | 3 | details |
| #10 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #11 | TIME LIMIT EXCEEDED | -- | 3 | details |
Code
#include <cassert>
#include <iostream>
#include <map>
#include <unordered_map>
#include <string>
#include <sstream>
void print(std::map<int, int>& luvut)
{
std::string str;
for (const auto& [luku, maara] : luvut)
{
for (int i = 0; i < maara; ++i)
str += std::to_string(luku) + " ";
}
std::cout << str << std::endl;
}
void increase(std::map<int, int>& luvut, int k)
{
auto it = luvut.begin();
int luku = it->first;
int maara = it->second;
int sub = k > maara ? maara : k;
k -= sub;
it->second -= sub;
if (it->second == 0)
luvut.erase(it);
if (k > 0)
increase(luvut, k);
luvut[luku + 1] += sub;
}
int main(void)
{
int n, m;
std::cin >> n >> m;
std::cin.ignore();
std::string alkusis;
std::getline(std::cin, alkusis);
std::stringstream ss(alkusis);
std::map<int, int> luvut;
int luku;
while (ss >> luku)
luvut[luku]++;
std::string ope;
std::getline(std::cin, ope);
std::stringstream sope(ope);
int k;
while (sope >> k)
increase(luvut, k);
print(luvut);
}
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 1 1000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
| correct output |
|---|
| 1000 |
| user output |
|---|
| 1000 |
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 1000 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
| correct output |
|---|
| 511 511 511 511 511 511 511 51... |
| user output |
|---|
| 511 511 511 511 511 511 511 51... |
Test 3
Group: 1, 3
Verdict: ACCEPTED
| input |
|---|
| 1000 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
| correct output |
|---|
| 495 495 495 495 495 495 495 49... |
| user output |
|---|
| 495 495 495 495 495 495 495 49... |
Test 4
Group: 1, 3
Verdict: ACCEPTED
| input |
|---|
| 1000 1000 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 ... |
| correct output |
|---|
| 562 562 562 562 562 562 562 56... |
| user output |
|---|
| 562 562 562 562 562 562 562 56... |
Test 5
Group: 1, 3
Verdict: ACCEPTED
| input |
|---|
| 1000 1000 0 1 3 4 6 9 9 9 10 11 11 11 11... |
| correct output |
|---|
| 997 997 997 997 997 998 998 99... |
| user output |
|---|
| 997 997 997 997 997 998 998 99... |
Test 6
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 100000 100000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
| correct output |
|---|
| 50033 50033 50033 50033 50033 ... |
| user output |
|---|
| 50033 50033 50033 50033 50033 ... |
Test 7
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 100000 100000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
| correct output |
|---|
| 49996 49996 49996 49996 49996 ... |
| user output |
|---|
| 49996 49996 49996 49996 49996 ... |
Test 8
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 100000 100000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
| correct output |
|---|
| 50057 50057 50057 50057 50057 ... |
| user output |
|---|
| 50057 50057 50057 50057 50057 ... |
Test 9
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 100000 100000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
| correct output |
|---|
| 50536 50536 50536 50536 50536 ... |
| user output |
|---|
| 50536 50536 50536 50536 50536 ... |
Test 10
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 100000 0 4 7 29 33 44 52 75 77 79 82 ... |
| correct output |
|---|
| 100000 100001 100003 100023 10... |
| user output |
|---|
| (empty) |
Test 11
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 100000 1 12 14 16 49 59 59 63 68 73 8... |
| correct output |
|---|
| 100001 100010 100012 100014 10... |
| user output |
|---|
| (empty) |
