제출 #937380

#제출 시각아이디문제언어결과실행 시간메모리
937380duckindogPalembang Bridges (APIO15_bridge)C++17
0 / 100
2 ms2644 KiB
//from duckindog wth depression #include<bits/stdc++.h> using namespace std; const int N = 100'000 + 10; int k, n; int a[N], b[N]; long long da[N], db[N]; int32_t main() { cin.tie(0)->sync_with_stdio(0); if (fopen("duck.inp", "r")) { freopen("duck.inp", "r", stdin); freopen("duck.out", "w", stdout); } cin >> k >> n; long long answer = 0; for (int i = 1; i <= n; ++i) { char A, B; cin >> A >> a[i] >> B >> b[i]; if (A != B) continue; answer += abs(b[i] - a[i]); i -= 1; n -= 1; } sort(a + 1, a + n + 1); sort(b + 1, b + n + 1); set<int> pos; for (int i = 1; i <= n; ++i) { pos.insert(a[i]); pos.insert(b[i]); da[i] = da[i - 1] + a[i]; db[i] = db[i - 1] + b[i]; } auto cal = [&](int i) { auto itA = upper_bound(a + 1, a + n + 1, i) - a - 1, itB = upper_bound(b + 1, b + n + 1, i) - b - 1; long long ret = 0; ret += 1ll * itA * i - da[itA] + da[n] - da[itA] - 1ll * i * (n - itA); ret += 1ll * itB * i - db[itB] + db[n] - db[itB] - 1ll * i * (n - itB); return ret; }; long long ret = 1'000'000'000'000'000; for (const auto& i : pos) ret = min(ret, cal(i)); cout << answer + ret + n << "\n"; }

컴파일 시 표준 에러 (stderr) 메시지

bridge.cpp: In function 'int32_t main()':
bridge.cpp:15:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |     freopen("duck.inp", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
bridge.cpp:16:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |     freopen("duck.out", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...