結果
問題 |
No.3241 Make Multiplication of 8
|
ユーザー |
![]() |
提出日時 | 2025-08-22 23:46:48 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 91 ms / 2,000 ms |
コード長 | 775 bytes |
コンパイル時間 | 3,909 ms |
コンパイル使用メモリ | 251,416 KB |
実行使用メモリ | 7,716 KB |
最終ジャッジ日時 | 2025-08-22 23:46:55 |
合計ジャッジ時間 | 6,649 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 23 |
ソースコード
#include <bits/stdc++.h> #include <atcoder/all> using namespace std; using namespace atcoder; #define ll long long #define rep(i,a,b) for(int i=(a);i<(b);i++) #define repl(i,a,b) for(ll i=(a);i<(b);i++) #define all(a) (a).begin(),(a).end() template <typename T> bool chmin(T &a,T b){if(a>b){a=b;return true;} return false;} template <typename T> bool chmax(T &a,T b){if(a<b){a=b;return true;} return false;} int main(){ ll n; cin >> n; ll x=0,y=0,z=0; rep(i,0,n){ ll a,b; cin >> a >> b; if(a%8 == 0){ x+=b; } else if(a%4 == 0){ y+=b; } else if(a%2 == 0){ z+=b; } } ll ans=x; if(y>=z){ ans+=z; y-=z; z=0; ans+=y/2; } else{ ans+=y; z-=y; y=0; ans+=z/3; } cout << ans << endl; }