Submission details
Task:Leimasin
Sender:sharph2
Submission time:2025-09-27 10:35:25 +0300
Language:C++ (C++17)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED33
#2ACCEPTED43
#3ACCEPTED24
Test results
testverdicttimegroup
#1ACCEPTED0.00 s1, 2, 3details
#2ACCEPTED0.00 s1, 2, 3details
#3ACCEPTED0.00 s1, 2, 3details
#4ACCEPTED0.00 s1, 2, 3details
#5ACCEPTED0.00 s2, 3details
#6ACCEPTED0.01 s2, 3details
#7ACCEPTED0.01 s2, 3details
#8ACCEPTED0.00 s2, 3details
#9ACCEPTED0.56 s3details
#10ACCEPTED0.55 s3details
#11ACCEPTED0.25 s3details
#12ACCEPTED0.22 s3details
#13ACCEPTED0.20 s3details
#14ACCEPTED0.07 s3details

Code

#include <iostream>
#include <map>
#include <string>

using namespace std;

int main() {
    cin.sync_with_stdio(false);
    cin.tie(nullptr);

    int n, m, k;
    cin >> n >> m >> k;

    string leimasin;
    cin >> leimasin;

    map<int, int> leimaukset;
    for(int i = 0; i < k; ++i) {
        int p;
        cin >> p;

        auto it = leimaukset.lower_bound(p);
        while(it != leimaukset.end()) {
            auto [a, b] = *it;
            if(a < p + m) {
                auto it2 = it;
                ++it2;
                leimaukset.erase(it);
                if(it2 != leimaukset.end() && it2->first <= p + m) {
                    it = it2;
                } else {
                    int d = p + m - a;
                    leimaukset.insert({a + d, b + d});
                    break;
                }
            } else {
                break;
            }
        }
        leimaukset.insert({p, 0});
    }

    if(leimaukset.empty()) {
        throw 5;
    }

    string s;
    for(int i = 1; i < leimaukset.begin()->first; ++i) {
        s.push_back('.');
    }
    for(auto it = leimaukset.begin(); it != leimaukset.end(); ++it) {
        int a = it->first;
        int b = n + 1;
        int j = it->second;
        auto it2 = it;
        ++it2;
        if(it2 != leimaukset.end()) {
            b = it2->first;
        }
        for(int i = a; i < b; ++i) {
            int k = j + i - a;
            if(k >= m) {
                s.push_back('.');
            } else {
                s.push_back(leimasin[k]);
            }
        }
    }

    cout << s << "\n";

    return 0;
}

Test details

Test 1

Group: 1, 2, 3

Verdict: ACCEPTED

input
1000 1 100
a
585 600 750 170 794 845 341 39...

correct output
............a....aa..............

user output
............a....aa..............

Test 2

Group: 1, 2, 3

Verdict: ACCEPTED

input
1000 4 100
zhrb
795 569 744 662 315 869 913 21...

correct output
.........................zhrb....

user output
.........................zhrb....

Test 3

Group: 1, 2, 3

Verdict: ACCEPTED

input
1000 100 100
wkmtgzytnfwptwukbartgunjyrkyml...

correct output
wkmtgzywkmtgzytnfwptwukbartgun...

user output
wkmtgzywkmtgzytnfwptwukbartgun...

Test 4

Group: 1, 2, 3

Verdict: ACCEPTED

input
1000 1000 100
njplbyvkaytbcyzbylzntnmpfapvfg...

correct output
njplbyvkaytbcyzbylzntnmpfapvfg...

user output
njplbyvkaytbcyzbylzntnmpfapvfg...

Test 5

Group: 2, 3

Verdict: ACCEPTED

input
100000 1 1000
a
61541 4948 46214 29629 8779 76...

correct output
.................................

user output
.................................

Test 6

Group: 2, 3

Verdict: ACCEPTED

input
100000 10 1000
ntsconpqnv
17118 69319 2115 8873 892 9994...

correct output
.....................ntsconpqn...

user output
.....................ntsconpqn...

Test 7

Group: 2, 3

Verdict: ACCEPTED

input
100000 10000 1000
wcyeepjmmvavmoncfxclqrsebjzwbf...

correct output
.................................

user output
.................................

Test 8

Group: 2, 3

Verdict: ACCEPTED

input
100000 100000 1000
chdcxwwznawllrxcxlckeziomcsjhc...

correct output
chdcxwwznawllrxcxlckeziomcsjhc...

user output
chdcxwwznawllrxcxlckeziomcsjhc...

Test 9

Group: 3

Verdict: ACCEPTED

input
1000000 1 500000
a
406018 635983 429225 943593 90...

correct output
.a...aa.....a.aaaa.a.aaa..aa.a...

user output
.a...aa.....a.aaaa.a.aaa..aa.a...

Test 10

Group: 3

Verdict: ACCEPTED

input
1000000 10 500000
frvhrhlrxi
85148 459715 677814 98302 4081...

correct output
frvhfrvhrhlrxihrhlrxifrvhrfrvf...

user output
frvhfrvhrhlrxihrhlrxifrvhrfrvf...

Test 11

Group: 3

Verdict: ACCEPTED

input
1000000 1000 500000
hklmkntjqgilackgurwlerwvvfjwwr...

correct output
.hklhklmkntjqgilackgurwlerwvvf...

user output
.hklhklmkntjqgilackgurwlerwvvf...

Test 12

Group: 3

Verdict: ACCEPTED

input
1000000 10000 500000
yxajftmelgwiofcugtrvcltdemhyuu...

correct output
yxajftyxayxajftmelgwiofcugtrvc...

user output
yxajftyxayxajftmelgwiofcugtrvc...

Test 13

Group: 3

Verdict: ACCEPTED

input
1000000 100000 500000
yyzteckvutdnprlklyxgenyqpznght...

correct output
.yyyyzteckvutdnpryyzteckvutdnp...

user output
.yyyyzteckvutdnpryyzteckvutdnp...

Test 14

Group: 3

Verdict: ACCEPTED

input
1000000 1000000 500000
hhgvveiosloznsihxtccfjbizayyhl...

correct output
hhgvveiosloznsihxtccfjbizayyhl...

user output
hhgvveiosloznsihxtccfjbizayyhl...