Submission #1130921

#TimeUsernameProblemLanguageResultExecution timeMemory
1130921I_FloPPed21Restore Array (RMI19_restore)C++20
0 / 100
4 ms584 KiB
#include <iostream>

using namespace std;
const int N=5001;
const int M=100001;
int n,m;
int v[N];
struct queries
{
    int l,r,k,val;
} qr[M];
int sp[N];
void solve()
{
    cin>>n>>m;
    for(int i=0; i<n; i++)
        v[i]=-1;
    for(int i=1; i<=m; i++)
    {
        cin>>qr[i].l>>qr[i].r>>qr[i].k>>qr[i].val;
        if(qr[i].val==1)
        {
            for(int j=qr[i].l; j<=qr[i].r; j++)
            {
                v[j]=1;
            }
        }
    }
    for(int i=0; i<n; i++)
    {
        if(v[i]==-1)
            v[i]=0;
    }
    sp[0]=v[0];
    for(int i=1; i<n; i++)
    {
        sp[i]=sp[i-1]+v[i];
    }
    for(int i=1; i<=m; i++)
    {
        if(qr[i].val==0)
        {
            int s1=sp[qr[i].r];
            int s2=0;
            if(qr[i].l==0)
                s2=0;
            else
                s2=sp[qr[i].l-1];
            if(s2-s1==(qr[i].r-qr[i].l+1))
            {
                cout<<-1<<'\n';
                return;
            }
        }

    }

    for(int i=0; i<n; i++)
        cout<<v[i]<<" ";

}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    solve();
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...