Letters CodeForces - 978C (二分)
2024-08-29 09:29:17
Letters CodeForces - 978C
题意:n个寝室,每个寝室多个房间(1-a[i]),一共m封信只知道房间号,现在要求把信送到第几个寝室的第几个房间里去,房间号从第一个寝室到第n个寝室的第一个房间到最后一个房间排下去
题意:用个二分查找吧,省点时间,二分才658ms,爆搜1600多ms
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<sstream>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<map>
using namespace std;
#define INF 0x3f3f3f3f
const int maxn=; int main()
{
long long int n,m;
cin>>n>>m;
long long int sum[maxn]={};
long long int a[maxn];
for(long long int i=;i<=n;i++)
{
cin>>a[i];
sum[i]=sum[i-]+a[i];
}
while(m--)
{
int flag;
long long int t;
scanf("%lld",&t);
long long int l=,r=n;
while(r-l>)
{
long long int mid=(l+r)/;
if(sum[mid]>t)
r=mid;
else
l=mid;
}
if(t-sum[l]==)
printf("%lld %lld\n",l,a[l]);
else printf("%lld %lld\n",l+,t-sum[l]);
}
}
int l = ,r = n;
while(r > l) {
int mid = (l + r + ) >> ;
if(... > ...)
r = mid - ;
else
l = mid;
}
最新文章
- PHP类的封装和做投票和用进度条显示
- 如何更好地学习dubbo源代码(转)
- jsgen 搭建
- java正则表达式练习
- 解决android sdk manage打开闪退的解决方法
- 项目源码--IOS自定义视频播放器
- 如何优化 Java 性能?
- oracle的分页查询碰到的一个小问题
- sql like 时间需要做转换
- 基于Xcode8插件开发~一键检测处理头文件引用
- vs编译器堆栈保护(GS选项)
- Miniconda 虚拟环境安装及应用
- .ftl文件介绍
- maven命令注册jar包到maven仓库
- Zip文件和RAR文件解压
- RelativeLayout 布局参数
- 2017/2/14springmvc基础学习
- xsl -fo 了解
- 【BZOJ】1828: [Usaco2010 Mar]balloc 农场分配(经典贪心)
- JavaScript 学习笔记(三)
热门文章
- NET Core项目部署
- 059 Spiral Matrix II 旋转打印矩阵 II
- 语义分割丨PSPNet源码解析「测试阶段」
- Activemq和Rabbitmq端口冲突
- CentOS 6.4 中yum命令安装php5.2.17
- js push(),pop(),shift(),unshift()
- 如何在github中的readme.md加入项目截图
- JAVA加密解密DES对称加密算法
- HDU	5489 Removed Interval 2015 ACM/ICPC Asia Regional Hefei Online (LIS变形)
- [web开发] Vue+Spring Boot 上海大学预约系统开发记录