Submission #126907

#TimeUsernameProblemLanguageResultExecution timeMemory
126907RockyBCoin Collecting (JOI19_ho_t4)C++17
0 / 100
2 ms376 KiB
/// In The Name Of God //#pragma GCC optimize("Ofast") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native") //#pragma GCC optimize("unroll-loops") #include <bits/stdc++.h> #define f first #define s second #define pb push_back #define pp pop_back #define mp make_pair #define sz(x) (int)x.size() #define sqr(x) ((x) * 1ll * (x)) #define all(x) x.begin(), x.end() #define rep(i, l, r) for (int i = (l); i <= (r); i++) #define per(i, l, r) for (int i = (l); i >= (r); i--) #define Kazakhstan ios_base :: sync_with_stdio(0), cin.tie(0), cout.tie(0); #define nl '\n' #define ioi exit(0); typedef long long ll; typedef long double ld; typedef unsigned long long ull; const int N = (int)2e5 + 7; const int inf = (int)1e9 + 7; const int mod = (int)1e9 + 7; const ll linf = (ll)1e18 + 7; const int dx[] = {-1, 0, 1, 0, 1, -1, -1, 1}; const int dy[] = {0, 1, 0, -1, 1, -1, 1, -1}; using namespace std; int n; pair <ll, ll> a[N]; bool was[N]; int take(ll x, ll y) { ll mn = linf; int ans = 0; ll ox, oy; rep(i, 1, n << 1) { if (!was[i]) { ll dist = abs(x - a[i].f) + abs(y - a[i].s); if (mn > dist) { mn = dist; ans = i; ox = a[i].f, oy = a[i].s; } else if (mn == dist) { if (a[i].f < ox || (a[i].f == ox && (a[i].s < oy))) { ox = a[i].f, oy = a[i].s; ans = i; } } } } return ans; } bool check(int x, int y) { return 1 <= x && x <= n && 1 <= y && y <= 2; } int main() { #ifdef IOI freopen ("in.txt", "r", stdin); #endif Kazakhstan cin >> n; rep(i, 1, n << 1) { cin >> a[i].f >> a[i].s; } map < pair <int, int>, int> placed; rep(i, 1, n << 1) { if (check(a[i].f, a[i].s)) { if (placed.count(a[i])) continue; placed[a[i]] = 1; was[i] = 1; } } ll ans = 0; rep(j, 1, 2) { rep(i, 1, n) { if (placed.count({i, j})) continue; int id = take(i, j); was[id] = 1; ans += abs(i - a[id].f) + abs(j - a[id].s); //cerr << i << ' ' << j << ' ' << id << endl; } } cout << ans; ioi }

Compilation message (stderr)

joi2019_ho_t4.cpp: In function 'int take(ll, ll)':
joi2019_ho_t4.cpp:61:42: warning: 'oy' may be used uninitialized in this function [-Wmaybe-uninitialized]
         if (a[i].f < ox || (a[i].f == ox && (a[i].s < oy))) {
                            ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
joi2019_ho_t4.cpp:61:25: warning: 'ox' may be used uninitialized in this function [-Wmaybe-uninitialized]
         if (a[i].f < ox || (a[i].f == ox && (a[i].s < oy))) {
             ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...