#29168: 不懂題目意思


s111010137@student.nqu.edu.tw (Khazix)

學校 : 國立金門大學
編號 : 177202
來源 : [1.172.139.67]
最後登入時間 :
2022-11-09 22:20:56
f631. 同學會 -- 林口高中練習題 | From: [39.10.68.227] | 發表日期 : 2022-02-03 02:58

#include <iostream>

#include <algorithm>

using namespace std;

int main(void)

{

    int n, m;

    int sum, temp;

 

    while (cin >> n >> m)

    {

        int input_n[10002] = { 0 };

        int input_m[10002] = { 0 };

 

        sum = 0;

        temp = 0;

 

        for (int i = 0; i < n; i++)

        {

            cin >> input_n[i];

        }

 

        for (int i = 0; i < m; i++)

        {

            cin >> input_m[i];

            sum += input_m[i];

        }

 

        sort(input_n, input_n + n);

 

        for (int i = n - 1; i >= 0; i--)

        {

            temp += input_n[i];

 

            if (temp >= sum)

            {

                break;

            }

        }

 

        if (temp >= sum)

        {

            cout << input_n[n - 1] << " " << temp - sum << endl;

        }

 

        else

        {

            cout << "Oh My God" << endl;

        }

    }

 

    return 0;

}

 

是題目理解錯誤嗎?

或是程式哪邊有問題

希望有大神能指點一下!

(測資是不是有點怪怪的?

 
#29170: Re:不懂題目意思


yanbo920223@gmail.com (外星少女的起司蛋糕)

學校 : 元智大學
編號 : 106482
來源 : [114.25.181.178]
最後登入時間 :
2023-10-16 05:25:01
f631. 同學會 -- 林口高中練習題 | From: [111.251.19.91] | 發表日期 : 2022-02-03 04:17

 

是題目理解錯誤嗎?

或是程式哪邊有問題

希望有大神能指點一下!

(測資是不是有點怪怪的?


測資 : 

1500 1500 1000 2000 3000

900 600 200 350 1200 400 1000

第一步 : 3000塊的人付錢 -> 3000 - 900 = 2100 -> 2100 - 600 = 1500

目前狀態 :

1500 1500 1000 2000 1500

200 350 1200 400 1000

第二步 : 原本錢最多的人剩下1500,換2000塊的人付錢。 2000 - 200 - 350 = 1450

目前狀態 : 

1500 1500 1000 1450 1500

1200 400 1000

第三步 : 原本錢最多的人剩下1450,換有1500塊的任一人出來付錢。1500 - 1200 = 300

目前狀態 :

300 1500 1000 1450 1500

400 1000

第四步 : 原本錢最多任一人剩下300,換有1500塊的任一人出來付錢。1500 - 400 = 1100

目前狀態 :

300 1100 1000 1450 1500

1000

第五步 : 原本錢最多任一人剩下1100,換錢最多的人出來付錢。1500 - 1000 = 500

目前狀態 :

300 1100 1000 "1450" 500

 

所以答案 = 初始狀態最有錢 (3000) -> 經過運算之後剩下最有錢 (1450)

測資沒毛病。

 
#29183: Re:不懂題目意思


s111010137@student.nqu.edu.tw (Khazix)

學校 : 國立金門大學
編號 : 177202
來源 : [1.172.139.67]
最後登入時間 :
2022-11-09 22:20:56
f631. 同學會 -- 林口高中練習題 | From: [39.10.68.227] | 發表日期 : 2022-02-03 21:58

 

是題目理解錯誤嗎?

或是程式哪邊有問題

希望有大神能指點一下!

(測資是不是有點怪怪的?


測資 : 

1500 1500 1000 2000 3000

900 600 200 350 1200 400 1000

第一步 : 3000塊的人付錢 -> 3000 - 900 = 2100 -> 2100 - 600 = 1500

目前狀態 :

1500 1500 1000 2000 1500

200 350 1200 400 1000

第二步 : 原本錢最多的人剩下1500,換2000塊的人付錢。 2000 - 200 - 350 = 1450

目前狀態 : 

1500 1500 1000 1450 1500

1200 400 1000

第三步 : 原本錢最多的人剩下1450,換有1500塊的任一人出來付錢。1500 - 1200 = 300

目前狀態 :

300 1500 1000 1450 1500

400 1000

第四步 : 原本錢最多任一人剩下300,換有1500塊的任一人出來付錢。1500 - 400 = 1100

目前狀態 :

300 1100 1000 1450 1500

1000

第五步 : 原本錢最多任一人剩下1100,換錢最多的人出來付錢。1500 - 1000 = 500

目前狀態 :

300 1100 1000 "1450" 500

 

所以答案 = 初始狀態最有錢 (3000) -> 經過運算之後剩下最有錢 (1450)

測資沒毛病。

原來如此 感謝大佬!

 
ZeroJudge Forum