| Task: | Lisäykset |
| Sender: | sharph2 |
| Submission time: | 2025-11-28 21:24:08 +0200 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | TIME LIMIT EXCEEDED | 0 |
| #2 | TIME LIMIT EXCEEDED | 0 |
| #3 | TIME LIMIT EXCEEDED | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #2 | TIME LIMIT EXCEEDED | -- | 1, 2, 3 | details |
| #3 | TIME LIMIT EXCEEDED | -- | 1, 3 | details |
| #4 | TIME LIMIT EXCEEDED | -- | 1, 3 | details |
| #5 | ACCEPTED | 0.01 s | 1, 3 | details |
| #6 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
| #7 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #8 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #9 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #10 | ACCEPTED | 0.13 s | 3 | details |
| #11 | ACCEPTED | 0.13 s | 3 | details |
Code
#include <climits>
#include <cstdint>
#include <iostream>
#include <map>
#include <vector>
using namespace std;
int n, m;
map<int, int> erotukset;
volatile bool asd = true;
int main() {
cin.sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> m;
int edellinen = -100;
for(int i = 0; i <= n; ++i) {
int x;
if(i == n) {
x = INT_MAX;
} else {
cin >> x;
}
if(x != edellinen) {
erotukset[i] = x - edellinen;
}
edellinen = x;
}
auto kasvata = [&](int i) {
++erotukset[i];
};
auto pienenna = [&](int i) {
auto it = erotukset.find(i);
if(it == erotukset.end()) {
while(asd) {}
}
if(it->second == 1) {
erotukset.erase(it);
} else {
if(it->second < 1) {
while(asd) {}
}
--it->second;
}
};
for(int i = 0; i < m; ++i) {
int k;
cin >> k;
auto it = erotukset.lower_bound(k);
if(it == erotukset.end()) while(asd) {}
if(it->first == k) {
pienenna(k);
} else {
if(it == erotukset.begin()) while(asd) {}
auto it2 = it;
--it2;
int a = it2->first;
int b = it->first;
pienenna(b);
kasvata(b - (k - a));
pienenna(a);
}
}
vector<int> tulos(n);
int luku = INT_MAX - erotukset[n];
for(int i = n - 1; i >= 0; --i) {
tulos[i] = luku;
luku -= erotukset[i];
}
for(int x : tulos) {
cout << x << " ";
}
cout << "\n";
return 0;
}
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: TIME LIMIT EXCEEDED
| 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 |
|---|
| (empty) |
Test 3
Group: 1, 3
Verdict: TIME LIMIT EXCEEDED
| 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 |
|---|
| (empty) |
Test 4
Group: 1, 3
Verdict: TIME LIMIT EXCEEDED
| 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 |
|---|
| (empty) |
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: TIME LIMIT EXCEEDED
| 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 |
|---|
| (empty) |
Test 7
Group: 3
Verdict: TIME LIMIT EXCEEDED
| 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 |
|---|
| (empty) |
Test 8
Group: 3
Verdict: TIME LIMIT EXCEEDED
| 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 |
|---|
| (empty) |
Test 9
Group: 3
Verdict: TIME LIMIT EXCEEDED
| 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 |
|---|
| (empty) |
Test 10
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 100000 100000 0 4 7 29 33 44 52 75 77 79 82 ... |
| correct output |
|---|
| 100000 100001 100003 100023 10... |
| user output |
|---|
| 100000 100001 100003 100023 10... |
Test 11
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 100000 100000 1 12 14 16 49 59 59 63 68 73 8... |
| correct output |
|---|
| 100001 100010 100012 100014 10... |
| user output |
|---|
| 100001 100010 100012 100014 10... |
