Submission #1185320

#TimeUsernameProblemLanguageResultExecution timeMemory
1185320countlessPaint By Numbers (IOI16_paint)C++20
Compilation error
0 ms0 KiB
#include "paint.h"
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef long double ld;

const ll MOD = 998244353;
const ll INF = 1e18;
const ld EPS = 1e-12;

#define endl "\n"
#define sp <<" "<<
#define REP(i, a, b) for(ll i = a; i < b; i++)
#define dbg(x) cout << #x << " = " << x << endl
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define fast_io() ios_base::sync_with_stdio(false); cin.tie(NULL)
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define sz(x) ((ll)(x).size())

struct custom_hash {
    static uint64_t splitmix64(uint64_t x) {
        // http://xorshift.di.unimi.it/splitmix64.c
        x += 0x9e3779b97f4a7c15;
        x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9;
        x = (x ^ (x >> 27)) * 0x94d049bb133111eb;
        return x ^ (x >> 31);
    }

    size_t operator()(uint64_t x) const {
        static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count();
        return splitmix64(x + FIXED_RANDOM);
    }
};

template <typename Key, typename Value>
using hash_map = unordered_map<Key, Value, custom_hash>;

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
// uniform_int_distribution<int>(a, b)(rng);
// shuffle(all(a), rng);

std::string solve_puzzle(std::string s, std::vector<int> c) {
    // subtask 1
    int n = s.size(), k = c.size();
    assert(k == 1);
    string res(n, '?');
    if (c[0] > n/2) {
        int diff = c[0] - n/2;
        int m = n/2;
        if (n % 2) {
            m++;
            diff--;
            res[n/2] = 'X';
        }

        REP(i, 0, diff) {
            res[m+i] = 'X';
        }

        if (n % 2)
            m -= 2;
        else
            m -= 1;

        REP(i, 0, diff) {
            res[m-i] = 'X';
        }
        return res;
    } else {
        return res;
    }
}

signed main() {
    string s; cin >> s;
    vector<int> c;
    int x;
    while (cin >> x)
        c.push_back(x);

    cout << solve_puzzle(s, c) << endl;
}

Compilation message (stderr)

paint.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
paint_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
/usr/bin/ld: /tmp/ccnnGORJ.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cc2cLuPJ.o:paint.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status