結果
問題 |
No.3302 Sense Battle
|
ユーザー |
|
提出日時 | 2025-10-05 16:07:13 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,532 bytes |
コンパイル時間 | 3,886 ms |
コンパイル使用メモリ | 252,100 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-10-05 16:07:18 |
合計ジャッジ時間 | 4,279 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | WA * 18 |
ソースコード
#include <bits/stdc++.h> #include <atcoder/all> using namespace std; using namespace atcoder; using ll = long long; using ld = long double; using ull = unsigned long long; using vi = vector<ll>; using vvi = vector<vi>; using vc = vector<char>; using vvc = vector<vc>; using vb = vector<bool>; using vvb = vector<vb>; using vs = vector<string>; using pii = pair<ll, ll>; using vpii = vector<pii>; using vvpii = vector<vpii>; using mint = modint998244353; // using mint = modint1000000007; #define endl '\n' #define rep(i, a) for (ll i = 0; i < a; i++) #define f(i, a, b) for (ll i = a; i < b; i++) #define rf(i, a, b) for (ll i = a; i > b; i--) #define all(x) (x).begin(), (x).end() const ll INF = LLONG_MAX / 4; vi dx = {1, 0, -1, 0, 1, 1, -1, -1}; vi dy = {0, 1, 0, -1, 1, -1, 1, -1}; void io_setup() { cin.tie(0); ios::sync_with_stdio(0); cout << fixed << setprecision(16); } int main(void) { io_setup(); int n; cin >> n; vi a(n), b(n); rep(i,n)cin >> a[i] >> b[i]; // vector dp(2, vector<pii>(n, {0,0}));//dp[0][i].fisrt 合計ダメージ // dp[0][0] = {0,a[0]}; // dp[1][0] = {b[0],0}; // rep(i,n-1){ // dp[0][i+1] = max(dp[0][i+1]) // } int attack = 0; vi num(n); rf(i,n-1,-1){ if(a[i]*attack <= b[i]){//攻撃する num[i] = 1; attack++; }else{ num[i] =0; } } attack = 0; ll ans = 0; rep(i,n){ if(num[i] == 1)ans += attack + b[i]; else attack += a[i]; } cout << ans << endl; }