카테고리 없음
[알고리즘 C++] 백준 17947 - 상남자 곽철용
gmwoo
2021. 12. 17. 11:39
#include <iostream>
using namespace std;
int cnt[400005]; //Max k
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n, m, k;
cin >> n >> m >> k; // Input n m k
for (int i = 1; i <= 4 * n; i++) cnt[i % k]++; // Mod count about k
for (int i = 0; i < 2 * m; i++) { // Drop first draw cards
int t;
cin >> t;
cnt[t % k]--;
}
int a, b; // Gwak's second draw cards
cin >> a >> b;
int diff = abs(a % k - b % k);
cnt[a % k]--; cnt[b % k]--;
int ans = 0;
int val = 0;
for (int i = diff + 1; i < k; i++) { // I don't understand...Sorry..
val += cnt[i - diff - 1];
ans += min(val, cnt[i]);
val -= min(val, cnt[i]);
}
cout << min(ans, m - 1);
}
반응형