洛谷:B4477 [语言月赛 202601] 考场安排

题目描述

某学校拟组织学业水平测试,共有 n 个考场可以使用,依次编号为第 1∼n 考场。第 i 考场共有 ri​ 行 ci​ 列个座位。

该学校共有 m 名考生。学校必须从第 1 考场开始,编号连续地使用若干个考场。每个考场配备两名监考员。保证所有考场的位置总和足以容纳全部考生。

请你计算,学校最少聘请多少名监考员?

输入格式

第一行为两个整数 n,m。

接下来 n 行,每行两个正整数 ri​,ci​。

输出格式

输出一行一个整数,表示答案。

输入输出样例

输入 #1复制

复制代码
5 20
2 2
3 3
4 4
5 5
6 6

输出 #1复制

复制代码
6

说明/提示

【样例 1 解释】

共有 5 个考场和 20 名考生,各考场情况如下:

  • 第 1 考场,可容纳 4 人
  • 第 2 考场,可容纳 9 人
  • 第 3 考场,可容纳 16 人
  • 第 4 考场,可容纳 25 人
  • 第 5 考场,可容纳 36 人

使用第 1∼3 考场,共需要 6 名监考员。

【数据规模与约定】

对于 60% 的测试数据,1≤n≤103,1≤ri​,ci​≤50。

对于 100% 的测试数据,1≤n≤105,1≤ri​,ci​≤105,1≤m≤i=1∑n​ri​⋅ci​。

题解:

#include "iostream"

using namespace std;

int main(){

long long n,m;

cin>>n>>m;

long long r[100005],c[100005];

for(int i=0;i<n;i++){

cin>>r[i]>>c[i];

}

long long sum=0;

for(int i=0;i<n;i++){

sum+=r[i]*c[i];

if(sum>=m){

cout<<2*(i+1)<<endl;

break;

}

}

system("pause");

return 0;

}

相关推荐
IAUTOMOBILE2 小时前
Qt 入门级开发实践:浅析基于 QTtest 项目的 C++ GUI 编程基础
开发语言·c++·qt
爱丽_2 小时前
AQS 的 `state`:volatile + CAS 如何撑起原子性与可见性
java·前端·算法
2301_788770552 小时前
OJ模拟5
数据结构·算法
羊小猪~~2 小时前
算法/力扣--字符串经典题目
c++·考研·算法·leetcode·职场和发展·哈希算法
攒了一袋星辰2 小时前
10万级用户数据日更与定向推送系统的可靠性设计
java·数据库·算法
nap-joker2 小时前
PIPE4:快速PPI预测器,用于综合的跨物种和跨物种相互作用组
算法·多模态生物医学数据分析·蛋白质互作网络
Lilixxs2 小时前
施耐德 M580、M340 PLC 中 BOOL 类型数组地址
数据结构·plc·施耐德·m580·m340·unity pro·control expert
临溟夜空的繁星2 小时前
C++ STL—— stack 和 queue
开发语言·c++
小年糕是糕手2 小时前
【35天从0开始备战蓝桥杯 -- Day7】
开发语言·jvm·数据库·c++·蓝桥杯