洛谷: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 r100005,c100005;

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

cin>>ri>>ci;

}

long long sum=0;

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

sum+=ri*ci;

if(sum>=m){

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

break;

}

}

system("pause");

return 0;

}

相关推荐
To_OC7 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
炸膛坦客8 小时前
单片机/C/C++八股:(二十六)IIC 专题(I²C)---- 上集
c语言·c++·单片机
旖-旎8 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
To_OC9 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
Henry Zhu1239 小时前
C++中的特殊成员函数与智能指针
c++
delishcomcn9 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹10 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
雪碧聊技术10 小时前
力扣 LCR 091. 粉刷房子 —— 动态规划入门详解
算法·动态规划
_wyt00111 小时前
多重背包问题详解
c++·背包dp