This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//khodaya khodet komak kon
#include <bits/stdc++.h>
#define F first
#define S second
#define pb push_back
#define all(x) x.begin(), x.end()
#pragma GCC optimise ("ofast")
#pragma GCC optimise("unroll-loops")
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
const int N = 200000 + 10;
const ll MOD = 1000000000 + 7;
const ll INF = 1000000000000000000;
const ll LOG = 25;
int n, m, cnt[N], cnt2[N];
vector<pii> Q;
int main(){
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> n >> m;
for (int i = 1; i <= m; i++){
int l, r;
cin >> l >> r;
Q.pb({l, r});
}
for (int mask = 0; mask < (1 << m); mask ++){
memset(cnt, 0, sizeof cnt);
memset(cnt2, 0, sizeof cnt2);
for (int i = 0; i < m; i++){
if (mask & (1 << i)){
if (Q[i].F > Q[i].S){
for (int j = Q[i].F; j <= n; j++){
cnt[j] ++;
}
for (int j = 1; j <= Q[i].S; j++) cnt[j]++;
}else{
for (int j = Q[i].F; j <= Q[i].S; j++) cnt[j]++;
}
}else{
if (Q[i].F > Q[i].S){
for (int j = Q[i].F; j <= n; j++){
cnt2[j] ++;
}
for (int j = 1; j <= Q[i].S; j++) cnt2[j]++;
}else{
for (int j = Q[i].F; j <= Q[i].S; j++) cnt2[j]++;
}
}
}
bool f = 1;
for (int i = 1; i <= n; i++){
if (cnt[i] == 0 || cnt2[i] == 0) f = 0;
}
if (f){
for (int i = 0; i < m; i++) cout << ((mask & (1 << i)) != 0);
return 0;
}
}
cout << "impossible";
return 0;
}
Compilation message (stderr)
alternating.cpp:8:0: warning: ignoring #pragma GCC optimise [-Wunknown-pragmas]
#pragma GCC optimise ("ofast")
alternating.cpp:9:0: warning: ignoring #pragma GCC optimise [-Wunknown-pragmas]
#pragma GCC optimise("unroll-loops")
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |