Submission #493859

# Submission time Handle Problem Language Result Execution time Memory
493859 2021-12-13T08:24:29 Z leaked Restore Array (RMI19_restore) C++14
13 / 100
374 ms 796 KB
#include <bits/stdc++.h>

#define f first
#define s second
#define m_p make_pair
#define vec vector
#define sz(x) (int)(x).size()
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
#define fast_rmi ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;

signed main(){
    fast_rmi;
    int n,m;
    cin>>n>>m;
    vec<array<int,4>>arr(m);
    vec<array<int,4>>arrt(m);

    for(auto &z : arr){
        cin>>z[0]>>z[1]>>z[2]>>z[3];
        if(z[3]==1)
            z[2]=z[2]-1;
//        cout<<"L R "<<z[0]<<' '<<z[1]<<' '<<z[2]<<' '<<"TYPE "<<z[3]<<endl;
    }
    arrt=arr;
    vec<int> a(n,1);
    for(int i=0;i<n;i++){
        int ok=1;
        int nd=0;
        for(auto &z : arr){
            if(z[0]<=i&&z[1]>=i){
//                cout<<"ALOGG "<<z[0]<<' '<<z[1]<<endl;
                if(z[3]==0 && z[2]){
                    nd=1;
//                    cout<<"NEED "<<z[0]<<' '<<z[1]<<' '<<z[2]<<endl;
                }
                if(z[3]==1 && !z[2]){
                    ok=0;
//                    cout<<"CHE "<<z[0]<<' '<<z[1]<<endl;
                }
            }
        }
        if(nd && ok){
            a[i]=0;
//            cout<<"Y "<<i<<endl;
            for(auto &z : arr){
                if(z[0]<=i&&z[1]>=i){
                    z[2]=max(0,z[2]-1);
                }
            }
        }
    }
    auto check=[&](){
        int ok=1;
        for(auto &z : arrt){
            int cnt=0;
            for(int i=z[0];i<=z[1];i++)
                cnt+=(!a[i]);
            if(z[3])
                assert(cnt<=z[2]);
            else{
                ok&=(cnt>=z[2]);
            }
        }
        return ok;
    };
    if(!check()){
        cout<<-1;
    }
    else
        for(auto &z : a)
            cout<<z<<' ';
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 312 ms 616 KB Output is correct
2 Correct 320 ms 588 KB Output is correct
3 Correct 328 ms 616 KB Output is correct
4 Correct 319 ms 628 KB Output is correct
5 Correct 170 ms 628 KB Output is correct
6 Correct 147 ms 732 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 312 ms 616 KB Output is correct
2 Correct 320 ms 588 KB Output is correct
3 Correct 328 ms 616 KB Output is correct
4 Correct 319 ms 628 KB Output is correct
5 Correct 170 ms 628 KB Output is correct
6 Correct 147 ms 732 KB Output is correct
7 Correct 307 ms 776 KB Output is correct
8 Correct 374 ms 784 KB Output is correct
9 Correct 328 ms 636 KB Output is correct
10 Correct 293 ms 588 KB Output is correct
11 Correct 178 ms 588 KB Output is correct
12 Correct 188 ms 780 KB Output is correct
13 Correct 271 ms 760 KB Output is correct
14 Correct 205 ms 796 KB Output is correct
15 Incorrect 179 ms 792 KB Output isn't correct
16 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB Output isn't correct
3 Halted 0 ms 0 KB -