中石油新生賽第八場 問題 H 常州買衣服

2021-09-05 07:13:31 字數 1366 閱讀 6570

題目描述

不知道是拔河訓練的作用還是那個夢的緣故,反正小x是一天天瘦下來了,雖然還沒有中天學長那麼帥,但比起 q 老師已經瘦了很多,小x原先買的衣服都嫌大了,於是他想去買些新衣服,小x的衣服原先一直是在非主流服裝店買的,他的衣服一般店裡是買不到的,而去非主流服裝店肯定能買到,如膝蓋上挖了兩個洞的牛仔褲,正常人穿了像雨衣的衝鋒衣等應有盡有,並且每買一件就送一張優惠券,小x這些年下來積聚了好多張優惠券,這次非主流服裝店恰好舉行優惠活動,用優惠券購買衣服可享受***!

小x來到了非主流服裝店,他看上了 n 件衣服,每一件衣服**為 pi,小x現在手中共有 m 個單位的現金,以及 k 張優惠卷。小x可以在購買某件衣服時,使用至多一張優惠券,若使用優惠券,則該衣服的**會下降至 qi,小x想知道他最多可以買幾件衣服。

輸入

第一行包含三個用空格隔開的正整數 n,k,m,依次表示衣服總數和優惠券數量及現金總數。

接下來 n 行每行包含兩個整數 pi,qi,表示該件衣服的**和***。資料保證 pi>=qi。

輸出

輸出資料僅有一行包含乙個整數,表示小 x 最多能購買的衣服數。

樣例輸入

複製樣例資料 4 1 7

3 22 2

8 14 3

樣例輸出

3提示

30%的資料,n<=5,k=1,m<=100

對於另外 10%的資料,n<=5,k<=5,m<=100

60%的資料,n<=200,k<=200

80%的資料,n<=2500,k<=2500

100%的資料,n<=50000,k<=50000,m<=10^16

先按優惠後**從小到大排,買完優惠卷的後,再按優惠前**從小到大排,直到錢花沒了或者買不起下一件為止,注意優惠後的買完以後把陣列中的數變得足夠大,防止後面再買一次。

#include

#include

#include

#include

using namespace std;

struct clotha[

100000];

intcmp1

(cloth a,cloth b)

intcmp2

(cloth a,cloth b)

intmain()

sort

(a+1

,a+1

+n,cmp2)

;for

(int i=

1;i<=n;i++

) cout

}

中石油新生賽第八場 問題 A 春遊

題目描述 小 就讀的cz 中學今年又取得了小高考的空前佳績,全校師生都很開心,於是大家希望找個地方去春遊,在廣泛徵集了全校師生的意見後,最終決定前往嬉戲谷遊玩一天。出行方案為租用大巴,可供租用的大巴有兩種,一種是49 座的,一種是33 座的,49 座的大巴每輛租金為3300 元,33 座的大巴每輛租...

新生訓練賽第八場個人題解

includeusing namespace std int main ma max ma,te cout 2.用scanf或者cin讀入單詞,每個單詞自動用空格隔開 看完這個就知道讀入字元的方式有多蠢了 鍵盤輸入ctrl c輸入結束 includeusing namespace std int m...

暑期個人賽 第八場 A

a.遊戲 2014新生暑假個人排位賽08 時間限制 1000 ms 記憶體限制 65536 kb 小弱發明了乙個好玩的遊戲,遊戲開始時給你乙個凸多邊形,這個多邊形可以任意旋轉,平移。讓你造出乙個正方形 容器 足夠大 容器的兩邊垂直,兩邊水平。用這個容器把這個多邊形完全包含,且多邊形有且只有一條邊恰好...