結果

問題 No.982 Add
ユーザー hipotafhipotaf
提出日時 2020-06-08 21:09:49
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 643 ms / 2,000 ms
コード長 1,340 bytes
コンパイル時間 761 ms
コンパイル使用メモリ 76,012 KB
実行使用メモリ 136,080 KB
最終ジャッジ日時 2024-06-07 23:05:59
合計ジャッジ時間 14,189 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,816 KB
testcase_01 AC 540 ms
134,700 KB
testcase_02 AC 550 ms
135,160 KB
testcase_03 AC 1 ms
6,944 KB
testcase_04 AC 504 ms
135,056 KB
testcase_05 AC 598 ms
135,496 KB
testcase_06 AC 548 ms
136,080 KB
testcase_07 AC 581 ms
134,648 KB
testcase_08 AC 572 ms
135,296 KB
testcase_09 AC 641 ms
135,476 KB
testcase_10 AC 640 ms
134,744 KB
testcase_11 AC 627 ms
135,396 KB
testcase_12 AC 535 ms
135,324 KB
testcase_13 AC 529 ms
135,152 KB
testcase_14 AC 2 ms
6,940 KB
testcase_15 AC 565 ms
134,772 KB
testcase_16 AC 588 ms
135,336 KB
testcase_17 AC 542 ms
135,516 KB
testcase_18 AC 554 ms
135,732 KB
testcase_19 AC 415 ms
134,872 KB
testcase_20 AC 528 ms
135,784 KB
testcase_21 AC 500 ms
134,648 KB
testcase_22 AC 506 ms
135,160 KB
testcase_23 AC 432 ms
135,628 KB
testcase_24 AC 638 ms
135,340 KB
testcase_25 AC 643 ms
135,288 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

using ll = long long;

template <class T>
using grid = vector<vector<T>>;

#define REP(i,n) for(ll i=0;i<(ll)(n);i++)
#define REPD(i,n) for(ll i=n-1;i>=0;i--)
#define FOR(i,a,b) for(ll i=a;i<=(ll)(b);i++)
#define FORD(i,a,b) for(ll i=a;i>=(ll)(b);i--)

#define input(...) __VA_ARGS__; in(__VA_ARGS__)

void print() {
  std::cout << std::endl;
}

template <class Head, class... Tail>
void print(Head&& head, Tail&&... tail) {
  std::cout << head << " ";
  print(std::forward<Tail>(tail)...);
}

void in() { }

template <class Head, class... Tail>
void in(Head&& head, Tail&&... tail) {
  cin >> head;
  in(std::forward<Tail>(tail)...);
}

int main() {
  ll input(A, B);

  if (A == 1 || B == 1) {
    print(0);
    return 0;
  }

  /* if (A % B == 0 || B % A == 0) { */
  /*   print(-1); */
  /*   return 0; */
  /* } */

  vector<ll> result;
  REP(x, 3000) {
    REP(y, 3000) {
      result.push_back(A * x + B * y);
    }
  }

  sort(result.begin(), result.end());
  ll p = 0;
  ll check = 0;
  int ans = 0;
  for(auto v: result) {
    int range = max((v - p) - 1, 0ll);
    if (range > 0) {
      if (v - check > 1000) {
        print(ans);
        return 0;
      }
      check = v;
    }
    ans += range;
    p = v;
  }
  print(-1);
}
0