題目描述
有一款遊戲叫《明日方舟》( kokodayo ),這款遊戲裡有許多幹員,現在從中挑出n位來,組成乙個編隊,編號為i的幹員有乙個戰鬥力ai。
konnyaku_lxz 很愛玩這款遊戲,但他想玩的有遊戲體驗一點,因此他不想帶戰鬥力為m的幹員,可是他又不想再弄乙個編隊。所以,他想直接將原來編隊的長度縮短並且將裡面戰鬥力為m的所有幹員全部去除。
但是他實在是太弱了,不知道該怎麼辦,於是他找到了你,請你來幫他解決這個問題。
要求:不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用o(1)額外空間的條件下完成(即不能再開乙個陣列)。
注意: o(1)額外空間並不代表只能定義乙個變數,額外空間指除了 n,m 和 a 陣列以外的空間
你不需要考慮編隊新長度之外的幹員以及其戰鬥力。
輸入第一行乙個非負整數n,表示該編隊內共有n位幹員。
接下來一行共n個數,第i個數表示編號為i的幹員的戰鬥力ai。
最後一行乙個非負整數m,表示要從編隊中去除戰鬥力為m的幹員。
輸出第一行乙個非負整數ans,表示去除戰鬥力為m的幹員後編隊內幹員的數量。
接下來一行,共ans個非負整數,表示編隊內剩餘的每個幹員的戰鬥力。
注意:原編隊中戰鬥力不為 m 的幹員的順序不可以改變(詳情請見樣例解釋)。
樣例輸入 copy
431
233#
樣例輸出 copy2
12
提示
樣例解釋:不能輸出2,2,1,且你不用考慮你的陣列編號為3及以後的資料。
思路題目不難,主要是資料範圍到1e19,用long long 不行,過不了,得用unsigned long long,其他沒什麼(這裡我犯了乙個很傻的錯誤,我用cin過了,scanf沒過,當時我還奇怪為啥scanf快還過不了,後來我知道了,unsigned long long輸入輸出是%llu,我弄成%lld了,一直wa,不得不說難受了,長記性了)。
**:
#include
#include
#include
//#include
#include
#include
#include
#include
#include
#include
#include
#include
#define x first
#define y second
#define inf 0x3f3f3f3f
#define p pair
using
namespace std;
typedef
unsigned
long
long ull;
const
int n=
1e6+10;
int n,cnt;
ull m,a[n]
;int
main()
printf
("%d\n"
,cnt)
;for
(int i=
0;i)return0;
}
upc 去除幹員 delete
題目描述 有一款遊戲叫 明日方舟 kokodayo 這款遊戲裡有許多幹員,現在從中挑出n位來,組成乙個編隊,編號為i的幹員有乙個戰鬥力ai。konnyaku lxz 很愛玩這款遊戲,但他想玩的有遊戲體驗一點,因此他不想帶戰鬥力為m的幹員,可是他又不想再弄乙個編隊。所以,他想直接將原來編隊的長度縮短並...
UPC 方格取數
題目描述 在 n 行 m 列的方格矩陣中,每個方格都包含乙個數字。小明可以從任意方格出發開始移動。每次移動可以移到與當前方格有一條邊相鄰的方格 即向上 下 左或右方向移動 1 格,且不能移出邊界 除此之外,你移動到的方格中的數字必須比當前方格中的數字更大。請你幫助小明程式設計規劃移動路徑,使路徑上經...
UPC 購買巧克力(貪心)
時間限制 1 sec 記憶體限制 128 mb 提交 狀態 題目描述 shoi這次科技競賽取得了好成績,想慶祝一番,他手頭總共有m元,購買巧克力來讓同學分享快樂。他在sh商店逸擇購買,在巧克力商品櫃中共有n塊巧克力,每塊巧克力的 是a i 元 商家為了 提供給他k張優惠券,使用方法是 對於每塊巧克力...