QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#204026#89. Restore ArrayAhmed57#7 433ms131588kbC++236.2kb2023-10-07 00:09:042024-07-04 02:17:13

Judging History

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

  • [2024-07-04 02:17:13]
  • 评测
  • 测评结果:7
  • 用时:433ms
  • 内存:131588kb
  • [2023-10-07 00:09:04]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
int lol[100001];
bool dp[5002][5002][3];
bool vis[5002][5002][3];
vector<array<int,2>> adj[5002];
int n;
bool solve(int i,int la,int dd){
    if(i==n+1){
        return 1;
    }
    if(vis[i][la][dd])return dp[i][la][dd];
    bool c1 = 0;
    vis[i][la][dd] = 1;
    if(lol[i]==-1){
        for(int e = 1;e>=0;e--){
            int la0 = 0, la1 =0;
            if(e==dd){
                if(dd==0)la0 = i , la1 = la;
                else la1 = i , la0 = la;
            }else{
                if(e)la1 = i , la0 = i-1;
                else la0 = i , la1 = i-1;
            }
            //cout<<la0<<" "<<la1<<" "<<i<<" "<<e<<endl;
            bool ss = 1;
            for(auto q:adj[i]){
                if(q[1]==0){
                    if(la0<q[0]){
                        ss = 0;
                    }
                }else{
                    if(la1<q[0]){
                        ss = 0;
                    }
                }
            }
            if(ss){
                if(la0==i){
                    c1 = max(c1,solve(i+1,la1,0));
                }else{
                    c1 = max(c1,solve(i+1,la0,1));
                }
            }
        }
    }else{
        for(int e = lol[i];e<=lol[i];e++){
            int la0 =0, la1 = 0;
            if(e==dd){
                if(dd==0)la0 = i , la1 = la;
                else la1 = i , la0 = la;
            }else{
                if(e)la1 = i , la0 = i-1;
                else la0 = i , la1 = i-1;
            }
            //cout<<la0<<" "<<la1<<" "<<i<<" "<<e<<endl;
            bool ss = 1;
            for(auto q:adj[i]){
                if(q[1]==0){
                    if(la0<q[0]){
                        ss = 0;
                    }
                }else{
                    if(la1<q[0]){
                        ss = 0;
                    }
                }
            }
            if(ss){
                if(la0==i){
                    c1 = max(c1,solve(i+1,la1,0));
                }else{
                    c1 = max(c1,solve(i+1,la0,1));
                }
            }
        }
    }
    return dp[i][la][dd] = c1;
}void print(int i,int la,int dd){
    if(i==n+1){
        return ;
    }
    if(lol[i]==-1){
        for(int e = 1;e>=0;e--){
            int la0 = 0, la1 =0;
            if(e==dd){
                if(dd==0)la0 = i , la1 = la;
                else la1 = i , la0 = la;
            }else{
                if(e)la1 = i , la0 = i-1;
                else la0 = i , la1 = i-1;
            }
            bool ss = 1;
            for(auto q:adj[i]){
                if(q[1]==0){
                    if(la0<q[0]){
                        ss = 0;
                    }
                }else{
                    if(la1<q[0]){
                        ss = 0;
                    }
                }
            }
            if(ss){
                if(la0==i&&solve(i+1,la1,0)){
                    cout<<e<<" ";
                    print(i+1,la1,0);
                    break;
                }else{
                    cout<<e<<" ";
                    print(i+1,la0,1);
                    break;
                }
            }
        }
    }else{
        for(int e = lol[i];e<=lol[i];e++){
            int la0 =0, la1 = 0;
            if(e==dd){
                if(dd==0)la0 = i , la1 = la;
                else la1 = i , la0 = la;
            }else{
                if(e)la1 = i , la0 = i-1;
                else la0 = i , la1 = i-1;
            }
            bool ss = 1;
            for(auto q:adj[i]){
                if(q[1]==0){
                    if(la0<q[0]){
                        ss = 0;
                    }
                }else{
                    if(la1<q[0]){
                        ss = 0;
                    }
                }
            }
            if(ss){
                if(la0==i&&solve(i+1,la1,0)){
                    cout<<e<<" ";
                    print(i+1,la1,0);
                    break;
                }else{
                    cout<<e<<" ";
                    print(i+1,la0,1);
                    break;
                }
            }
        }
    }
}
signed main(){

    ios_base::sync_with_stdio(false);cin.tie(0);
    int m;
    cin>>n>>m;
    if(n<=18){
            vector<array<int,4>> ops;
        for(int i = 0;i<m;i++){
            int l,r,k,v;
            cin>>l>>r>>k>>v;
            ops.push_back({l,r,k,v});
        }
    for(int mask = 0;mask<(1<<n);mask++){
        bool ss = 1;
        for(auto e:ops){
            int cnt = 0 , cnt2 = 0;
            for(int w = e[0];w<=e[1];w++){
                if(mask&(1<<w))cnt++;
                else cnt2++;
            }
            if(e[3]==0){
                if(cnt2<e[2]){
                    ss = 0;
                    break;
                }
            }else{
                if(cnt2>=e[2]){
                    ss = 0;break;
                }
            }
        }
        if(ss){
            for(int i = 0;i<n;i++){
                if(mask&(1<<i))cout<<1<<" ";
                else cout<<0<<" ";
            }
            return 0;
        }
    }
    cout<<-1<<endl;
    return 0;
    }
    bool ss = 1;
    memset(lol,-1,sizeof lol);
    for(int i = 0;i<m;i++){
        int l,r,k,v;
        cin>>l>>r>>k>>v;
        l++;r++;
        if(k==1&&v==1){
            for(int j = l;j<=r;j++){
                if(lol[j]==0){
                    ss = 0;
                }
                lol[j] = 1;
            }
        }else if(k==(r-l+1)&&v==0){
            for(int j = l;j<=r;j++){
                if(lol[j]==1){
                    ss = 0;
                }
                lol[j] = 0;
            }
        }else{
            if(k==1){
                adj[r].push_back({l,0});
                //cout<<l<<" "<<r<<" "<<0<<"pp"<<endl;
            }else{
                adj[r].push_back({l,1});
                //cout<<l<<" "<<r<<" "<<1<<"pp"<<endl;
            }
        }
    }
    if(ss==0){
        cout<<-1<<endl;
        return 0;
    }
    if(solve(1,0,2)==0){
        cout<<-1<<endl;
        return 0;
    }
    print(1,0,2);
}

详细

Subtask #1:

score: 7
Accepted

Test #1:

score: 7
Accepted
time: 0ms
memory: 3616kb

input:

8 13
0 1 2 1
3 5 1 1
5 7 2 1
0 2 2 0
2 5 3 1
3 7 4 1
2 2 1 0
0 1 1 0
2 7 5 1
2 4 1 0
0 4 2 0
4 5 2 1
1 2 1 0

output:

1 0 0 1 1 1 1 0 

result:

ok your plan is correct!

Test #2:

score: 0
Accepted
time: 0ms
memory: 3588kb

input:

7 10
0 3 4 1
2 3 1 0
1 2 2 0
1 3 2 0
0 5 3 0
0 5 5 1
1 4 2 0
2 4 1 0
1 3 3 0
3 5 2 0

output:

1 0 0 0 1 0 0 

result:

ok your plan is correct!

Test #3:

score: 0
Accepted
time: 1ms
memory: 3660kb

input:

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

output:

0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 

result:

ok your plan is correct!

Test #4:

score: 0
Accepted
time: 1ms
memory: 3560kb

input:

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

output:

1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 

result:

ok your plan is correct!

Test #5:

score: 0
Accepted
time: 3ms
memory: 3556kb

input:

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

output:

-1

result:

ok No Solution!

Test #6:

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

input:

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

output:

-1

result:

ok No Solution!

Test #7:

score: 0
Accepted
time: 1ms
memory: 3664kb

input:

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

output:

0 1 0 1 1 0 1 0 0 0 0 0 1 0 1 1 

result:

ok your plan is correct!

Test #8:

score: 0
Accepted
time: 1ms
memory: 3620kb

input:

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

output:

1 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 

result:

ok your plan is correct!

Test #9:

score: 0
Accepted
time: 3ms
memory: 3660kb

input:

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

output:

1 0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 

result:

ok your plan is correct!

Test #10:

score: 0
Accepted
time: 0ms
memory: 3556kb

input:

17 6
1 1 1 0
2 3 1 0
0 0 1 1
2 13 8 1
6 8 1 0
2 5 2 0

output:

1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 

result:

ok your plan is correct!

Subtask #2:

score: 0
Wrong Answer

Test #11:

score: 13
Accepted
time: 199ms
memory: 115328kb

input:

4992 9040
331 4442 1 0
3489 4173 1 0
393 4420 1 0
1324 2666 1 0
1317 4131 1 0
399 3010 1 0
1843 4154 1 0
1119 4876 1 0
4216 4980 1 0
2003 4370 1 0
769 1927 1 0
934 3414 1 0
2072 2507 1 0
215 3526 1 0
1493 4107 1 0
539 1643 1 0
2783 4338 1 0
967 1190 1 0
1374 2868 1 0
34 1378 1 0
71 1418 1 0
2120 223...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 ...

result:

ok your plan is correct!

Test #12:

score: 0
Accepted
time: 77ms
memory: 106840kb

input:

4952 9496
4222 4300 1 0
2892 4392 1 0
4158 4700 1 0
2720 3468 1 0
3002 3114 1 0
1010 4681 1 0
629 4392 1 0
734 2030 1 0
1024 2836 1 0
299 2880 1 0
3728 4858 1 0
1616 2861 1 0
2716 2938 1 0
1265 2892 1 0
1695 1778 1 0
1414 2231 1 0
47 4835 1 0
1554 3489 1 0
2591 3178 1 0
2424 4665 1 0
1089 2460 1 0
2...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 ...

result:

ok your plan is correct!

Test #13:

score: 0
Accepted
time: 433ms
memory: 131588kb

input:

4995 9192
257 4428 1 0
2504 2636 1 0
208 4875 1 0
1462 2898 1 0
1000 2298 1 0
4596 4745 1 0
614 4072 1 0
1425 1941 1 0
2378 4165 1 0
496 1556 1 0
255 4838 1 0
76 2176 1 0
349 3143 1 0
1325 4409 1 0
854 3653 1 0
4656 4945 1 0
2957 4396 1 0
784 4891 1 0
4488 4917 1 0
1721 4188 1 0
231 4748 1 0
282 332...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

result:

ok your plan is correct!

Test #14:

score: -13
Wrong Answer
time: 27ms
memory: 101008kb

input:

4938 9603
2957 4666 1 0
2348 3586 1 0
3501 3789 1 0
2741 4713 1 0
1217 1254 1 0
192 2857 1 0
1242 2716 1 0
2315 4140 1 0
2464 2912 1 0
189 2590 1 0
4150 4701 1 0
3604 3942 1 0
2491 2801 1 0
1009 2819 1 0
1508 3589 1 0
88 4021 1 0
86 487 1 0
2857 4336 1 0
1738 4473 1 0
1385 1969 1 0
3187 4675 1 0
753...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

result:

wrong output format Unexpected end of file - int32 expected

Subtask #3:

score: 0
Wrong Answer

Dependency #1:

100%
Accepted

Test #17:

score: 25
Accepted
time: 18ms
memory: 99412kb

input:

4938 9881
1814 3083 1 0
2918 2958 41 1
2085 2909 825 1
2595 3342 748 1
1147 2469 1323 1
2697 2734 1 0
407 4791 1 0
568 2847 1 0
2500 2905 1 0
1670 3662 1 0
1692 3400 1709 1
35 436 402 1
1393 2755 1 0
1074 4777 3704 1
552 1519 1 0
3216 3566 351 1
1841 2502 1 0
3 1708 1706 1
90 3062 1 0
1593 2428 1 0
...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

result:

ok your plan is correct!

Test #18:

score: 0
Accepted
time: 15ms
memory: 97668kb

input:

4948 9938
597 2134 1 0
192 2940 2749 1
116 4688 4573 1
449 2324 1 0
3526 4697 1172 1
4178 4738 1 0
4472 4845 1 0
323 1072 1 0
724 4075 3352 1
2828 3622 1 0
712 980 269 1
891 1227 1 0
4117 4895 779 1
419 1627 1 0
927 2579 1653 1
1961 3667 1707 1
1065 3028 1 0
2275 4477 2203 1
3396 3451 56 1
1273 1660...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 ...

result:

ok your plan is correct!

Test #19:

score: 0
Accepted
time: 22ms
memory: 97704kb

input:

4957 9852
86 2229 2144 1
838 3854 1 0
177 2427 1 0
1516 2489 974 1
3404 3854 1 0
2667 3472 1 0
260 834 1 0
3096 4769 1674 1
1288 3517 2230 1
60 4378 4319 1
1905 2286 1 0
21 1956 1 0
2956 3222 1 0
122 4000 1 0
4089 4678 590 1
425 4031 3607 1
1424 2198 1 0
1107 1949 843 1
4262 4638 1 0
327 4871 1 0
12...

output:

1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 ...

result:

ok your plan is correct!

Test #20:

score: -25
Wrong Answer
time: 16ms
memory: 97852kb

input:

4968 9370
2090 2853 1 0
2394 2881 1 0
3912 4279 368 1
850 2352 1 0
2617 4178 1 0
1828 4085 2258 1
1238 1265 1 0
2498 4892 1 0
1921 4034 1 0
3509 4415 907 1
1812 3166 1 0
1562 2316 1 0
1008 2379 1 0
723 3907 1 0
1414 2613 1 0
1076 4475 1 0
2323 4505 2183 1
109 3030 2922 1
1752 3456 1 0
480 4794 4315 ...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

result:

wrong output format Unexpected end of file - int32 expected

Subtask #4:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%