# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
996060 | 2024-06-10T07:40:45 Z | khanhtb | Xylophone (JOI18_xylophone) | C++17 | 1 ms | 344 KB |
#include<bits/stdc++.h> #include "xylophone.h" #define ll long long #define ull unsigned long long #define ld long double #define pb push_back #define pf push_front #define vi vector<ll> #define vii vector<vi> #define pll pair<ll,ll> #define vpll vector<pll> #define all(a) a.begin(), a.end() #define fi first #define se second using namespace std; const ll mod = 1e9+7; const ll inf = 1e18; const ll base = 31; const ll blocksz = 320; const ll N = 2e5+8; const ll buff = 1e5+1; ll a[N],dist[N][2]; bool check(int n){ set<ll> s; bool meetn = 0; for(ll i = 1; i <= n; i++){ cout << a[i] << ' '; s.insert(a[i]); if(a[i] == 1 && meetn) return 0; if(a[i] == n) meetn = 1; } cout << '\n'; if(s.size() != n) return 0; if(*s.begin() != 1) return 0; if(*s.rbegin() != n) return 0; return 1; } void solve(int n){ cin >> n; for(ll i = 2; i <= n; i++){ if(i > 1) dist[i][0] = query(i-1,i); if(i > 2) dist[i][1] = query(i-2,i); } for(ll x = 1; x <= n; x++){ a[1] = x; a[2] = x+dist[2][0]; for(ll i = 3; i <= n; i++){ if(a[i-2] > a[i-1]){ if (a[i-2]-a[i-1]+dist[i][0] == dist[i][1]) a[i] = a[i-1]-dist[i][0]; else a[i] = a[i-1]+dist[i][0]; } else{ if (a[i-2]-a[i-1]+dist[i][0] == dist[i][1]) a[i] = a[i-1]+dist[i][0]; else a[i] = a[i-1]-dist[i][0]; } } if(check(n)) break; a[1] = x; a[2] = x-dist[2][0]; for(ll i = 3; i <= n; i++){ if(a[i-2] > a[i-1]){ if (a[i-2]-a[i-1]+dist[i][0] == dist[i][1]) a[i] = a[i-1]-dist[i][0]; else a[i] = a[i-1]+dist[i][0]; } else{ if (a[i-2]-a[i-1]+dist[i][0] == dist[i][1]) a[i] = a[i-1]+dist[i][0]; else a[i] = a[i-1]-dist[i][0]; } } if(check(n)) break; } for(ll i = 1; i <= n; i++) answer(i,a[i]); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1 ms | 344 KB | Time limit exceeded (wall clock) |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1 ms | 344 KB | Time limit exceeded (wall clock) |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1 ms | 344 KB | Time limit exceeded (wall clock) |
2 | Halted | 0 ms | 0 KB | - |