#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].r+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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |