답안 #481541

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
481541 2021-10-21T06:22:39 Z SlavicG Restore Array (RMI19_restore) C++17
0 / 100
5 ms 588 KB
#include "bits/stdc++.h"
using namespace std;
 
#define ll long long
 
#define       forn(i,n)              for(int i=0;i<n;i++)
#define          all(v)              v.begin(), v.end()
#define         rall(v)              v.rbegin(),v.rend()
 
#define            pb                push_back
#define          sz(a)               (int)a.size()

void solve()
{ 
    int n, m;
    cin >> n >> m;

    vector<array<int, 4>> q(m);

    for(int i = 0;i < m;++i){
        int l, r, k, val;
        cin >> l >> r >> k >> val;
        q[i] = {l, r, k, val};
    }

    for(int mask = 0;mask < (1 << n);++mask){
        vector<int> a(n, 0);
        vector<int> p(n, 0);
        for(int i = 0;i < n;++i){
            if(mask & (1 << i))a[i] = 1;
            p[i] = a[i];
            if(i)p[i] += p[i - 1];
        }

        bool ok = true;
        for(int i = 0;i < m;++i){
            int l = q[i][0], r = q[i][1], k = q[i][2], val = q[i][3];

            int zeroes = (r - l + 1) - p[r];
            if(l)zeroes += p[l - 1];

            int number  = 0;
            if(zeroes >= k - 1)number = 0;
            else number = 1;

            if(number != val)ok = false;
        }

        if(ok){
            forn(i, n)cout << a[i] << " ";
            cout << "\n";
            return;
        }
    }

    cout << "-1\n";
}
 
int32_t main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int t = 1;
    //cin >> t;
    while(t--)
    {
        solve();
    }
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 588 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 588 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -