c 程式設計 計蒜客 搶氣球

2021-08-20 15:19:26 字數 1226 閱讀 9637

問題描述

教室的牆上掛滿了氣球,五顏六色,小朋友們非常喜歡。

剛一下課,小朋友們就打算去搶這些氣球。每個氣球在牆上都有一定的高度,只有當小朋友跳起來時,手能夠到的高度大於等於氣球的高度,小朋友才能摘到這個氣球。為了公平起見,老師讓跳的低的小朋友先摘,跳的高的小朋友後摘小朋友都很貪心,每個小朋友在摘氣球的時候都會把自己能摘的氣球都摘掉。

很巧的是,小朋友們跳起來手能夠著的**高度都不一樣**

,這樣就不會有跳起來後高度相同的小朋友之間發生爭執了。

【輸入格式】

第一行輸入兩個空格分隔的整數n,m,其中n表示小朋友的數量,m表示牆上氣球的數量。

第二行輸入n個正整數(每兩個整數之間用空格隔開),第i個數為 ai,表示第i個小朋友跳起來手能夠著的高度為ai。

第三行輸入m個正整數(每兩個整數之間用空格隔開),第i個數為 hi,表示第i個氣球的高度為hi。

【輸出格式】

輸出一共n行,每行乙個整數。第i行表示第i個小朋友摘到的氣球數量。

【輸入樣例】

【樣例1】

5 63 7 9 6 4

1 2 3 4 5 6

【樣例2】

10 10

1 2 3 4 5 6 7 8 9 10

3 1 4 6 7 8 9 9 4 12

【輸出樣例】

【樣例1】30

021【樣例2】10

1201

1120

【樣例解釋】

對於第一組樣例輸入,摘取氣球的順序依次為1,5,4,2,3號小朋友。1號小朋友能摘1,2,3號氣球,5號小朋友能摘4號氣球,4號小朋友能摘5,6號氣球,2,3號小朋友沒有氣球可摘了。

**如下:

#include #include #include using namespace std;

const int a=1000000;

struct children

;bool cmp(children a,children b)

for(int i=0;i>balloon[i];

}sort(st,st+n,cmp);

sort(balloon,balloon+m);

int j=h;

int i=0;

while(i=balloon[j])

else

}for(int i=0;ireturn 0;

}

計蒜客 程式設計競賽入門

蒜頭的數學實在是太差了,於是老師把他關到小黑屋讓他閉門修煉。老師跟他一張紙,上面一排寫著1,2,3 n這n個數,中間用空白分隔。老師讓他在空白處填上加號或者減號。他讓蒜頭君求出一共有多少種加運算子的方法使得整個表示式的值為0,並輸出所有的方案。比如n 7時,1 2 3 4 5 6 7排成一排,一種插...

計蒜客 程式設計競賽入門

蒜頭君前幾天把最心愛的小麥手機摔壞了,新手機又要好幾天才能到貨,於是蒜頭君不得暫時用它珍藏已久的諾雞鴨非智慧型手機了。手機的儲存空間非常小,以至於未接來電 已接來電和已撥 都只能各自儲存最近的10條記錄。蒜頭買了手機以後的未接來電 已接來電和已撥 記錄全部給出。機智的蒜頭能夠猜到這個手機使用了迴圈佇...

計蒜客 程式設計競賽入門

蒜頭最近在沉迷 尤其是人物關係複雜的言情 它看到的人物關係描述得很的麻煩的時候覺得非常蒜疼,尤其是人物關係裡有冗餘的時候。什麼是冗餘關係呢?這篇 裡有n句描述人物關係的句子,描述了n個人的關係。每條句子的定義是這樣的 x y 它的意思是 x認識y,y也認識x 我們認為 中的人物關係是具有傳遞性的,假...