問題
https://codeforces.com/contest/1551/problem/A (新しいタブで開く)
問題文
c1+2c2=n となるように c1,c2 を定めてね。
ただし、 ∣c1−c2∣ を最小化してね。
制約
- 1≤t≤104
- 1≤n≤109
サンプル
6
1000
30
1
32
1000000000
5
334 333
10 10
1 0
10 11
333333334 333333333
1 2
考察
1 と 2 を一緒にして、 3 として考える。
c3=⌊3n⌋ とする。
- nmod3=0 のとき、 (c1,c2)=(c3,c3)
- nmod3=1 のとき、 (c1,c2)=(c3+1,c3)
- nmod3=2 のとき、 (c1,c2)=(c3,c3+1)
これを出力すれば OK。
コード
https://codeforces.com/contest/1551/submission/123470098 (新しいタブで開く)
void solve() {
ll n;
cin >> n;
ll ans = n / 3;
cout << ans + (n % 3 == 1) << ' ' << ans + (n % 3 == 2) << endl;
}