QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#857347#9733. Heavy-light DecompositionWZY111WA 18ms3816kbC++141.1kb2025-01-15 16:14:022025-01-15 16:14:03

Judging History

你现在查看的是最新测评结果

  • [2025-01-15 16:14:03]
  • 评测
  • 测评结果:WA
  • 用时:18ms
  • 内存:3816kb
  • [2025-01-15 16:14:02]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<LL,LL> PII;
const int N=5e5+10,M=2*N;
//const int mod=998244353;
const LL mod=1e9+7;
const LL INF=1e18+7;
//LL h[N],e[M],ne[M],idx;


void solve(){
    int n,k;
    cin>>n>>k;


    vector<PII> a(k);
    vector<int> res(n+1);

    for(int i=0;i<k;i++){
        int l,r;
        cin>>l>>r;

        for(int j=l+1;j<=r;j++) res[j]=j-1;

        a[i]={r-l+1,l};
    }

    if(n==1){
        cout<<0<<endl;
        return;
    }

    sort(a.begin(),a.end());


    if(a[k-1].first==1){
        cout<<"IMPOSSIBLE"<<endl;
        return;
    }


    if(a[k-1].first==a[k-2].first&&a[0].first>=a[k-1].first-1){
        cout<<"IMPOSSIBLE"<<endl;
        return;
    }


    for(int i=0;i<k-1;i++) res[a[i].second]=a[k-1].second;

    if(a[k-1].first==a[k-2].first){
        res[a[0].second]=a[k-1].second+1;
    }

    for(int i=1;i<=n;i++) cout<<res[i]<<" ";

    cout<<endl;


}
 
 
 int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int T=1;
    cin>>T;
    
    while(T--) solve();
 
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3712kb

input:

3
12 5
1 5
9 11
7 8
6 6
12 12
4 3
1 1
4 4
2 3
2 2
1 1
2 2

output:

0 1 2 3 4 1 1 7 1 9 10 1 
2 0 2 2 
IMPOSSIBLE

result:

ok Correct. (3 test cases)

Test #2:

score: 0
Accepted
time: 5ms
memory: 3812kb

input:

10
1 1
1 1
100000 1
1 100000
12 4
1 3
4 6
7 9
10 12
6 3
4 6
2 3
1 1
8999 3
1 3000
3001 6000
6001 8999
14 4
1 3
4 6
7 10
11 14
17 5
1 3
4 6
7 10
11 14
15 17
19999 2
1 9999
10000 19999
1 1
1 1
5 3
1 1
2 3
4 5

output:

0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 ...

result:

ok Correct. (10 test cases)

Test #3:

score: 0
Accepted
time: 4ms
memory: 3816kb

input:

5
11 5
1 3
4 6
7 8
9 10
11 11
39998 4
1 10000
10001 20000
20001 30000
30001 39998
49000 5
1 10000
39999 49000
10001 20000
20001 30000
30001 39998
16 5
1 1
2 3
4 6
7 11
12 16
10 5
1 2
3 4
5 6
7 8
9 10

output:

4 1 2 0 4 5 4 7 4 9 5 
20001 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 9...

result:

ok Correct. (5 test cases)

Test #4:

score: 0
Accepted
time: 17ms
memory: 3712kb

input:

10000
20 6
17 20
7 9
1 3
4 6
10 12
13 16
20 12
7 7
4 4
10 10
8 8
3 3
1 1
6 6
2 2
5 5
11 11
12 20
9 9
20 16
11 11
5 6
9 9
2 2
12 12
1 1
18 20
8 8
15 15
13 13
16 17
10 10
14 14
3 3
4 4
7 7
20 16
6 7
10 10
13 13
18 18
19 19
14 14
1 1
20 20
8 8
4 5
9 9
2 3
12 12
11 11
16 17
15 15
20 5
1 1
6 6
7 12
13 20...

output:

IMPOSSIBLE
12 12 12 12 12 12 12 12 12 12 12 0 12 13 14 15 16 17 18 19 
18 18 18 18 18 5 18 18 18 18 18 18 18 18 18 18 16 0 18 19 
IMPOSSIBLE
13 13 2 3 4 13 13 7 8 9 10 11 0 13 14 15 16 17 18 19 
IMPOSSIBLE
9 9 2 3 4 5 6 7 0 9 10 11 12 13 14 15 16 17 18 19 
10 1 2 3 10 5 6 7 10 0 10 11 12 13 14 15 16...

result:

ok Correct. (10000 test cases)

Test #5:

score: -100
Wrong Answer
time: 18ms
memory: 3712kb

input:

20000
13 12
12 12
7 7
1 1
5 5
9 9
8 8
13 13
4 4
3 3
6 6
10 11
2 2
16 8
4 4
5 5
1 1
6 6
7 7
3 3
8 16
2 2
20 17
19 19
1 1
17 18
14 14
4 4
13 13
7 7
5 5
11 11
15 15
16 16
20 20
12 12
9 10
8 8
2 3
6 6
17 9
3 4
2 2
9 10
7 8
5 6
11 12
1 1
15 17
13 14
6 2
2 6
1 1
1 1
1 1
10 2
5 10
1 4
17 17
3 3
12 12
15 15...

output:

10 10 10 10 10 10 10 10 10 0 10 10 10 
8 8 8 8 8 8 8 0 8 9 10 11 12 13 14 15 
IMPOSSIBLE
15 15 15 3 15 5 15 7 15 9 15 11 15 13 0 15 16 
2 0 2 3 4 5 
0
5 1 2 3 0 5 6 7 8 9 
IMPOSSIBLE
0 1 2 3 4 5 6 7 8 9 10 11 12 13 
IMPOSSIBLE
IMPOSSIBLE
5 5 5 5 0 5 6 7 8 9 10 11 12 13 14 15 
0 1 
IMPOSSIBLE
IMPOSSI...

result:

wrong answer Case 37, jury find a solution while participant not. (test case 37)