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 的扇形 現在他們兩人要拿走連續的若干塊蛋糕 最終沒有蛋糕剩餘 他們想知道怎樣分,才能使得兩人得到的扇形角度的總和之差最小。輸出兩人獲得蛋糕總和的最小角度差。可能出現其中一人分不到任何蛋...