CodeForces 803D Magazine Ad
2024-08-28 08:49:02
二分。
首先把字符串处理成一个数组,二分答案,判断一下即可。
#include <cstdio>
#include <cmath>
#include <set>
#include <cstring>
#include <algorithm>
using namespace std; int p;
int a[1000010],sz;
char s[1000010]; void work()
{
int sum=0;
for(int i=0;s[i];i++)
{
sum++;
if(s[i]==' ')
{
a[sz++] = sum;
sum=0;
}
else if(s[i]=='-')
{
a[sz++] = sum;
sum=0;
}
}
if(sum)
{
a[sz++] = sum;
}
} bool check(int x)
{
int sum=0;
int y=0; for(int i=0;i<sz;i++)
{
if(a[i]>x) return 0;
} for(int i=0;i<sz;i++)
{
if(sum+a[i]<=x)
{
sum=sum+a[i];
}
else
{
sum = a[i];
y++;
}
} if(sum) y++; if(y<=p) return 1;
return 0;
} int main()
{
scanf("%d",&p);
getchar();
gets(s);
work(); int ans,L=1,R=1000000; while(L<=R)
{
int mid = (L+R)/2;
if(check(mid)) ans = mid,R = mid-1;
else L = mid+1;
} printf("%d\n",ans); return 0;
}
最新文章
- WPF +MVVM(Caliburn.Micro)项目框架
- C#使用Log4Net记录日志
- Android成长日记-APP的签名和打包
- cocos2d-x中CCCallFunc CCCallFuncN CCCallFuncND的区别和使用示例
- sr4000自带API和opencv结合获取图像
- easyui tabs 真正刷新用法
- android学习7——canvas.concat(Matrix matrix)作用
- GridView用法详解
- ionic3 自动创建启动背景splash以及图标icon
- 方便使用FFMPEG的经验
- C# xml数组的序列和反序列化
- 学习笔记(二)--Lucene简介
- 微服务架构day01
- PAT甲题题解-1091. Acute Stroke (30)-BFS
- NetCore中使用DynamicExpresso、Z.Expressions、LambdaParser进行安字符串求值
- SQL死锁知识及解决办法
- SQLServer随机取记录
- CentOS7.2配置Hadoop2.6.5
- Entity Framework优化一:引发了“System.Data.Entity.Core.EntityCommandExecutionException”类型的异常
- thinkphp 调用wsdl接口实例化SoapClient抛出异常