Codeforces Round #284 Div2
久しぶりにcodeforcesに出た。Cが幾何で愚直に線分交差判定しようとして謎バグで死んだ。普通に代入して不等式で判別するだけで解けるらしい。数学力の無さ…。
A
int main() { ios_base::sync_with_stdio(0); vector<pair<int,int>> v; int n, x, a, b, ans = 0; cin >> n >> x; rep(i, n) { cin >> a >> b; v.pb(mp(a,b)); } sort(all(v)); int p = 0, m = v[n-1].second; rep(i, v.size()) { for(; p <= m; p += x) { if(p + x >= v[i].first) { break; } } ans += v[i].second - p; p = v[i].second; } cout << ans << endl; }
B
int main() { ios_base::sync_with_stdio(0); int n, l; cin >> n >> l; string a,b,c; map<string, string> m; rep(i,l) { cin >> a >> b; if(a.size() > b.size()) { m[a] = b; } else { m[a] = a; } } cin >> c; cout << m[c]; rep(i,n-1) { cin >> c; cout << ' ' << m[c]; } cout << endl; }
// あとでコード上げる