1. 程式人生 > 其它 >AtCoder題解 —— AtCoder Beginner Contest 185 —— A - ABC Preparation

AtCoder題解 —— AtCoder Beginner Contest 185 —— A - ABC Preparation

技術標籤:OJ題解# AtCoder題解AtCoder題解ABC185A題ABC Preparation

題目相關

題目連結

AtCoder Regular Contest 185 A題,https://atcoder.jp/contests/abc185/tasks/abc185_a

Problem Statement

Takahashi has decided to hold some number of programming contests.
Holding one contest requires one 100-point problem, one 200-point problem, one 300-point problem, and one 400-point problem.

When he has A1, A2, A3, and A4 drafts of 100-, 200-, 300-, and 400-point problems, respectively, at most how many contests can he hold?
The same draft can be used only once.

Input

Input is given from Standard Input in the following format:

A1 A2 A3 A4

Output

Print an integer representing the maximum number of contests that can be held.

Samples1

Sample Input 1

5 3 7 11

Sample Output 1

3

Explaination

By using three drafts for each slot, he can hold three contests. He has just three drafts for 200-point problems, so he cannot hold four.

Samples2

Sample Input 2

100 100 1 100

Sample Output 2

1

Constraints

  • 1≤Ai≤100 (1≤i≤4)
  • All values in input are integers.

題解報告

題目翻譯

高橋決定完成演算法競賽,完成演算法競賽需要完成一個 100 分問題、一個 200 分問題、一個 300 分問題和一個 400 分問題。當他有 A1、A2、A3 和 A4 四種草案分別針對 100分、200分、300分和 400 分。問做多有多少個競賽可以完成,同一個草案只能使用一次。

題目分析

又是一個友善的打卡數學題。找四個數的最小值就是答案。勤快一點自己寫一個 min 函式,偷懶一點直接使用 STL 的 min 函式即可。

資料範圍估計

[1, 100] 的範圍,用 int 就可以了。

AC 程式碼

#include <bits/stdc++.h>

using namespace std;

//如果提交到OJ,不要定義 __LOCAL
//#define __LOCAL

int main() {
#ifndef __LOCAL
    //這部分程式碼需要提交到OJ,本地除錯不使用
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
#endif
    int a,b,c,d;
    cin>>a>>b>>c>>d;
    cout<<min({a,b,c,d})<<"\n";

#ifdef __LOCAL
    //這部分程式碼不需要提交到OJ,本地除錯使用
    system("pause");
#endif
    return 0;
}

時間複雜度

O(1)。

空間複雜度

O(1)。