Submission #328672

#TimeUsernameProblemLanguageResultExecution timeMemory
328672arayiCarnival (CEOI14_carnival)C++17
100 / 100
8 ms404 KiB
//Arayi #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #include <queue> #include <stack> #include <algorithm> #include <math.h> #include <vector> #include <cstring> #include <ctime> #include <set> #include <bitset> #include <map> #include <unordered_map> #include <unordered_set> #include <iomanip> #include <ctime> #include <climits> #include <cassert> #include <chrono> #include <random> #include <complex> #define fr first #define sc second #define MP make_pair #define ad push_back #define PB push_back #define fastio ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); #define lli long long int #define y1 arayikhalatyan #define j1 jigglypuff #define ld long double #define itn int #define pir pair<int, int> #define all(x) (x).begin(), (x).end() #define str string #define enl endl #define en endl #define cd complex<long double> #define vcd vector<cd> #define vii vector<int> #define vlli vector<lli> using namespace std; lli gcd(lli a, lli b) { return (b == 0LL ? a : gcd(b, a % b)); } ld dist(ld x, ld y1, ld x2, ld y2) { return sqrt((x - x2) * (x - x2) + (y1 - y2) * (y1 - y2)); } lli S(lli a) { return (a * (a + 1LL)) / 2LL; } mt19937 rnd(363542); char vow[] = { 'a', 'e', 'i', 'o', 'u' }; int dx[] = { 0, -1, 0, 1, -1, -1, 1, 1, 0 }; int dy[] = { -1, 0, 1, 0, -1, 1, -1, 1, 0 }; const int N = 5e5 + 30; const lli mod = 998244353; const ld pi = acos(-1); const ld e = 1e-13; lli bp(lli a, lli b = mod - 2LL) { lli ret = 1; while (b) { if (b & 1) ret *= a, ret %= mod; a *= a; a %= mod; b >>= 1; } return ret; } ostream& operator<<(ostream& c, pir a) { c << a.fr << " " << a.sc; return c; } struct pt { lli x, y; int ind; int bl; bool operator==(const pt& a) { return ind == a.ind; } bool operator<(const pt& b) { if (x == b.x) return y < b.y; return x < b.x; } }; vii fp; int n; int pat[155]; int ask(int l, int r, int q) { int sm; cout << r - l + 2 << " "; for (int i = l; i <= r; i++) cout << fp[i] << " "; cout << q << endl; cin >> sm; return sm; } int main() { fastio; cin >> n; for (int i = 1; i <= n; i++) { int sm = ask(0, (int)fp.size() - 1, i); if (sm == fp.size() + 1) fp.ad(i), pat[i] = fp.size(); else { int l = 0, r = (int)fp.size() - 1, ans = (int)fp.size() - 1; while (l <= r) { int mid = (l + r) / 2; int sm = ask(l, mid, i); if (sm == mid - l + 1) ans = mid, r = mid - 1; else l = mid + 1; } pat[i] = pat[fp[ans]]; } } cout << "0 "; for (int i = 0; i < n; i++) cout << pat[i + 1] << " "; cout << endl; return 0; } /* __ *(><)* \/ / ||/ --|| || /\ / \ / \ */

Compilation message (stderr)

carnival.cpp: In function 'int main()':
carnival.cpp:122:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  122 |         if (sm == fp.size() + 1) fp.ad(i), pat[i] = fp.size();
      |             ~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...