暨南大學2020acm熱身賽第二題 大學宿舍

2021-10-10 17:42:26 字數 951 閱讀 2083

problem b: 大學宿舍

time limit: 1 sec  memory limit: 128 mb

submit: 61  solved: 11

[submit][status][web board]

description

在一所大學中有n幢公寓,從1標記到n,第i幢公寓有ai個房間。每個房間都有乙個門牌號,從1標記到a1+a2+a3+...+an,1號表示第1幢樓第乙個房間,a1號表示第1幢樓最後乙個房間,a1+1號表示第2幢樓第乙個房間,以此類推,a1+a2+a3+...+an表示第n幢樓最後乙個房間。現在有m封信送到學校,每個信封上都有著乙個門牌號,你的任務是將這些信分類,辨別它們屬於第幾幢樓的第幾個房間

input

第一行輸入兩個整數n,m(1<=m,n<=2*10^5)分別代表公寓個數和信封個數

第二行輸入n個整數a1,a2..an表示每幢公寓的房間數

第三行輸入m個整數b1,b2...bm表示每封信上的門牌號 ai<=10^10

output

輸出m行,每行有兩個整數f,k分別表示第f幢樓的第k個房間

sample input

3 610 15 12

1 9 12 23 26 37

sample output

1 11 9

2 22 13

3 13 12

這道題在處理學生宿舍房間個數的時候要用到字首和

,在對每個信查詢房間的時候要對比信的門牌號和每個公寓的字首和,因為字首和一定是單調遞增的,所以應當使用二分法

。賽後發布題解:

#include #include #define ll long long

using namespace std;

ll a[200010],sum[200010],b;

bool check(int mid)

{ return sum[mid]

acm成都賽區網路熱身賽 Sum

題目大意 給你乙個n和x n的範圍 n 1000001 n表示有n個數,在這n個數查詢是否有兩個數之和為x的,如果有就輸出 yes 沒有 no sample input 3 3 1 2 3 2 31 3sample output yesno 最後我編了一組測試資料 3 16 1 8 16 no用二分...

2020東北大學NEU校賽熱身賽 找貓貓

problem 找貓貓 time limit 1s mem limit 64 mb problem description 貓貓和嘟嘟一起打遊戲,貓貓被困在了m點不能移動,每一秒減少乙個單位的hp,需要隊友嘟嘟來救。但是現在嘟嘟不在貓貓旁邊,而是在遠離貓貓的另乙個d點。當貓貓的hp變成負數之後,貓貓...

重慶賽區ACM熱身賽 8529 Cake

問題描述 小 w 和小 r 同月同日生,今天是他們的生日 但是只有乙個生日蛋糕,切成了 n 塊 每塊是角度為 ai 的扇形 現在他們兩人要拿走連續的若干塊蛋糕 最終沒有蛋糕剩餘 他們想知道怎樣分,才能使得兩人得到的扇形角度的總和之差最小。輸出兩人獲得蛋糕總和的最小角度差。可能出現其中一人分不到任何蛋...