AtCoder Regular Contest 050

Submission #1086441

Source codeソースコード

#include <algorithm>
#include <cassert>
#include <cfloat>
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <deque>
#include <iomanip>
#include <iostream>
#include <limits>
#include <map>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <tuple>
#include <vector>

#define FOR(i,k,n) for (int (i)=(k); (i)<(n); ++(i))
#define rep(i,n) FOR(i,0,n)
#define pb push_back
#define all(v) begin(v), end(v)
#define debug(x) cerr<< #x <<": "<<x<<endl
#define debug2(x,y) cerr<< #x <<": "<< x <<", "<< #y <<": "<< y <<endl

using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<vector<int> > vvi;
typedef vector<ll> vll;
typedef vector<vector<ll> > vvll;
template<class T> using vv=vector<vector< T > >;

int main() {
  //ll r, b, x, y;
  ll r, b, x, y;
  scanf("%lld %lld", &r, &b);
  scanf("%lld %lld", &x, &y);
  ll denomi = x * y - 1;
  __int128 numera1 = (__int128)y * r - b;
  __int128 numera2 = (__int128)x * b - r;
  if (numera1 <= 0) {
    printf("%lld\n", r);
    return 0;
  } else if (numera2 <= 0) {
    printf("%lld\n", b);
    return 0;
  }
  __int128 N1 = numera1 / denomi;
  ll ans = 0;
  for (ll n1 = (ll)(N1); n1 <= (ll)(N1) + 1; ++n1) {
    if (n1 < 0 || r - x * n1 < 0 || b - n1 < 0) {
      continue;
    }
    ll n2 = min(r - x * n1, (b - n1) / y);
    ans = max(ans, n1 + n2);
  }

  printf("%lld\n", ans);

  return 0;
}

Submission

Task問題 B - 花束
User nameユーザ名 mu
Created time投稿日時
Language言語 C++14 (Clang 3.8.0)
Status状態 AC
Score得点 100
Source lengthソースコード長 1567 Byte
File nameファイル名
Exec time実行時間 3 ms
Memory usageメモリ使用量 384 KB

Test case

Set

Set name Score得点 / Max score Cases
All 100 / 100 01.txt,02.txt,03.txt,04.txt,05.txt,06.txt,07.txt,08.txt,09.txt,10.txt,11.txt,12.txt,13.txt,14.txt,15.txt,16.txt,17.txt,18.txt,19.txt,20.txt,21.txt,22.txt,23.txt,24.txt,25.txt,26.txt,27.txt,28.txt,29.txt,30.txt,31.txt,32.txt,33.txt,34.txt,35.txt,36.txt,37.txt,38.txt,39.txt,40.txt,41.txt,42.txt,43.txt,44.txt,45.txt,46.txt,47.txt,48.txt,49.txt,50.txt,51.txt,52.txt,53.txt,54.txt,55.txt,56.txt,57.txt,58.txt,59.txt,60.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
01.txt AC 2 ms 256 KB
02.txt AC 3 ms 384 KB
03.txt AC 2 ms 256 KB
04.txt AC 2 ms 256 KB
05.txt AC 3 ms 256 KB
06.txt AC 3 ms 256 KB
07.txt AC 2 ms 256 KB
08.txt AC 2 ms 256 KB
09.txt AC 2 ms 256 KB
10.txt AC 2 ms 256 KB
11.txt AC 3 ms 256 KB
12.txt AC 3 ms 256 KB
13.txt AC 3 ms 256 KB
14.txt AC 2 ms 256 KB
15.txt AC 2 ms 256 KB
16.txt AC 2 ms 256 KB
17.txt AC 2 ms 256 KB
18.txt AC 2 ms 256 KB
19.txt AC 2 ms 256 KB
20.txt AC 3 ms 256 KB
21.txt AC 3 ms 256 KB
22.txt AC 2 ms 256 KB
23.txt AC 2 ms 256 KB
24.txt AC 2 ms 256 KB
25.txt AC 2 ms 256 KB
26.txt AC 2 ms 256 KB
27.txt AC 2 ms 256 KB
28.txt AC 3 ms 256 KB
29.txt AC 3 ms 256 KB
30.txt AC 2 ms 256 KB
31.txt AC 2 ms 256 KB
32.txt AC 2 ms 256 KB
33.txt AC 2 ms 256 KB
34.txt AC 2 ms 256 KB
35.txt AC 2 ms 256 KB
36.txt AC 2 ms 256 KB
37.txt AC 3 ms 256 KB
38.txt AC 2 ms 256 KB
39.txt AC 2 ms 256 KB
40.txt AC 2 ms 256 KB
41.txt AC 3 ms 256 KB
42.txt AC 2 ms 256 KB
43.txt AC 3 ms 256 KB
44.txt AC 2 ms 256 KB
45.txt AC 3 ms 256 KB
46.txt AC 2 ms 256 KB
47.txt AC 3 ms 256 KB
48.txt AC 3 ms 256 KB
49.txt AC 3 ms 256 KB
50.txt AC 3 ms 256 KB
51.txt AC 3 ms 256 KB
52.txt AC 2 ms 256 KB
53.txt AC 2 ms 256 KB
54.txt AC 3 ms 256 KB
55.txt AC 3 ms 256 KB
56.txt AC 2 ms 256 KB
57.txt AC 3 ms 256 KB
58.txt AC 2 ms 256 KB
59.txt AC 2 ms 256 KB
60.txt AC 2 ms 256 KB