結果

問題 No.982 Add
ユーザー hipotafhipotaf
提出日時 2020-06-08 21:09:49
言語 C++14
(gcc 13.2.0 + boost 1.83.0)
結果
AC  
実行時間 679 ms / 2,000 ms
コード長 1,340 bytes
コンパイル時間 651 ms
コンパイル使用メモリ 75,608 KB
実行使用メモリ 136,156 KB
最終ジャッジ日時 2023-08-27 03:09:00
合計ジャッジ時間 15,207 ms
ジャッジサーバーID
(参考情報)
judge13 / judge12
このコードへのチャレンジ(β)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
4,376 KB
testcase_01 AC 560 ms
134,884 KB
testcase_02 AC 566 ms
136,156 KB
testcase_03 AC 1 ms
4,376 KB
testcase_04 AC 527 ms
135,216 KB
testcase_05 AC 623 ms
135,168 KB
testcase_06 AC 571 ms
134,692 KB
testcase_07 AC 601 ms
135,724 KB
testcase_08 AC 592 ms
135,920 KB
testcase_09 AC 676 ms
134,548 KB
testcase_10 AC 662 ms
135,664 KB
testcase_11 AC 636 ms
135,200 KB
testcase_12 AC 563 ms
134,896 KB
testcase_13 AC 552 ms
135,256 KB
testcase_14 AC 1 ms
4,380 KB
testcase_15 AC 594 ms
134,936 KB
testcase_16 AC 634 ms
134,816 KB
testcase_17 AC 568 ms
135,108 KB
testcase_18 AC 595 ms
135,796 KB
testcase_19 AC 438 ms
135,608 KB
testcase_20 AC 555 ms
134,940 KB
testcase_21 AC 521 ms
134,684 KB
testcase_22 AC 532 ms
135,240 KB
testcase_23 AC 458 ms
134,532 KB
testcase_24 AC 679 ms
135,328 KB
testcase_25 AC 678 ms
135,256 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