Submission details
Task:Leimasin
Sender:Gomhog
Submission time:2025-09-28 13:24:18 +0300
Language:C++ (C++11)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED33
#2ACCEPTED43
#3ACCEPTED24
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2, 3details
#2ACCEPTED0.01 s1, 2, 3details
#3ACCEPTED0.01 s1, 2, 3details
#4ACCEPTED0.01 s1, 2, 3details
#5ACCEPTED0.02 s2, 3details
#6ACCEPTED0.02 s2, 3details
#7ACCEPTED0.01 s2, 3details
#8ACCEPTED0.01 s2, 3details
#9ACCEPTED0.30 s3details
#10ACCEPTED0.30 s3details
#11ACCEPTED0.32 s3details
#12ACCEPTED0.34 s3details
#13ACCEPTED0.36 s3details
#14ACCEPTED0.14 s3details

Code

#include <bits/stdc++.h>
#define F first
#define S second
#define X real()
#define Y imag()
using namespace std;
typedef long long ll;
typedef long double ld;

const int N = 1<<20;
int pos[2*N];

void make_tree() {
    for (int i=0; i<2*N; i++) pos[i] = -1;
}

void update(int value, int a, int b, int left=0, int right=N, int node=1) {
    if (b <= left || a >= right) return;
    if (a <=left && b >= right) {
        pos[node] = value;
        return;
    }
    if (pos[node] != -1 && node < N) {
        pos[2*node] = pos[node];
        pos[2*node+1] = pos[node];
        pos[node] = -1;
    }
    update(value, a, b, left, (left+right)/2, 2*node);
    update(value, a, b, (left+right)/2, right, 2*node+1);
}

int find(int ind) {
    int left=0;
    int right=N;
    int node=1;
    while (pos[node] == -1 && node < N) {
        int mid = (left+right)/2;
        if (mid > ind) {
            node = 2*node;
            right = mid;
        } else {
            node = 2*node+1;
            left = mid;
        }
    }
    return pos[node];
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    make_tree();

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

    for (int i=0; i<k; i++) {
        int p;
        cin>>p;
        update(p-1,p-1,p-1+m);
    }
    for (int i=0;i<n;i++) {
        int ind = find(i);
        if (ind == -1) cout << '.';
        else cout << s[i-ind];
    }
    cout << "\n";
}

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...