結果

問題 No.3068 Speedrun (Hard)
ユーザー yutas
提出日時 2025-08-23 20:32:04
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 1,118 ms / 2,000 ms
コード長 1,397 bytes
コンパイル時間 1,514 ms
コンパイル使用メモリ 194,472 KB
実行使用メモリ 7,716 KB
最終ジャッジ日時 2025-08-23 20:32:14
合計ジャッジ時間 8,948 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 32
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef long double ld;
typedef pair<int, int> Pii;
typedef pair<int, ll> Pil;
typedef pair<ll, ll> Pll;
typedef pair<ll, int> Pli;
typedef vector<vector<ll>> Mat;
#define fi first
#define se second
const ll MOD = 1e9 + 7;
const ll MOD2 = 998244353;
const ll MOD3 = 1812447359;
const ll INF = 1ll << 62;
const double PI = 2 * asin(1);
void yes() { printf("yes\n"); }
void no() { printf("no\n"); }
void Yes() { printf("Yes\n"); }
void No() { printf("No\n"); }
void YES() { printf("YES\n"); }
void NO() { printf("NO\n"); }

ll a, b, c, d, n, p, q, r, s, t;

int main() {
  cin >> a >> b >> c >> d >> n;
  cin >> p >> q >> r >> s >> t;

  for (ll i = 0; i <= a; i++) {
    for (ll j = 0; j <= b; j++) {
      ll x = t - (p * i + q * j), y = n - (i + j);
      if (x >= 0 && y >= 0) {
        if (r == s) {
          if (r * y == x && y <= c + d) {
            ll k = min(c, y);
            cout << i << " " << j << " " << k << " " << y - k << endl;
            return 0;
          }
        } else {
          if ((x - s * y) % (r - s) == 0) {
            ll k = (x - s * y) / (r - s);
            ll l = y - k;

            if (0 <= k && k <= c && 0 <= l && l <= d) {
              cout << i << " " << j << " " << k << " " << l << endl;
              return 0;
            }
          }
        }
      }
    }
  }

  return 0;
}
0