結果
問題 |
No.3241 Make Multiplication of 8
|
ユーザー |
👑 |
提出日時 | 2025-08-18 09:38:07 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 22 ms / 2,000 ms |
コード長 | 740 bytes |
コンパイル時間 | 327 ms |
コンパイル使用メモリ | 27,088 KB |
実行使用メモリ | 7,720 KB |
最終ジャッジ日時 | 2025-08-18 09:39:48 |
合計ジャッジ時間 | 1,846 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 23 |
ソースコード
#include <stdio.h> int main() { int i, N, A[100000], B[100000]; if (scanf("%d", &N) != 1) return -1; if (N < 1 || N > 88800) return -1; for (i = 1; i <= N; i++) { if (scanf("%d %d", &(A[i]), &(B[i])) != 2) return -1; if (A[i] < 1 || A[i] > 888000000 || B[i] < 1 || B[i] > 888000000) return -1; } if (scanf("%d", &N) != EOF) return -1; int j, k; long long num[4] = {}; for (i = 1; i <= N; i++) { for (j = 0; j < 3; j++) { if (A[i] % 2 != 0) break; A[i] /= 2; } num[j] += B[i]; } long long ans = num[3]; if (num[1] > num[2]) { ans += num[2]; num[1] -= num[2]; ans += num[1] / 3; } else { ans += num[1]; num[2] -= num[1]; ans += num[2] / 2; } printf("%lld\n", ans); fflush(stdout); return 0; }