Wannafly模拟赛5 A Split 【贪心】
来源:互联网 发布:网络销售沟通术语 编辑:程序博客网 时间:2024/05/09 22:32
题目:https://www.nowcoder.com/acm/contest/18/A
题意:
你有一个大小为��的����������,每次你可以从你已有的����������中选择一个大小不为1的����������,设他的大小为��,然后把它分裂成��和��−��,其中1≤��<��,这样你获得的收益是��∗(��−��)给定��,��,求最少分裂几次才能得到至少��的收益
分析:
最后分的大小尽量平均得到的M最大。二分分的次数,然后判断是否可以使得收益>=M即可。
#include <iostream>#include <algorithm>#include <string>#include <vector>#include <map>#include <set>#include <queue>#include <cstdio>#include <cstring>#include <cmath>using namespace std;const int N=1e3+9;typedef long long LL;typedef pair<int,int> pii;int a[N];int solve(int s,int x){ for(int i=0;i<x;i++)a[i]=s/x; for(int i=0;i<s%x;i++)a[i]++; int ans=0; int sum=0; for(int i=0;i<x;i++){ ans+=sum*a[i]; sum+=a[i]; } return ans;}int main(){ int s,m; scanf("%d%d",&s,&m); for(int i=1;i<s;i++){ if(solve(s,i+1)>=m){ printf("%d\n", i); return 0; } } printf("-1\n"); return 0;}
阅读全文
0 0
- Wannafly模拟赛5 A Split 【贪心】
- Wannafly模拟赛5 A split 二分
- Wannafly模拟赛5 A Split
- Wannafly模拟赛5 A题
- Wannafly模拟赛2 A题
- Wannafly模拟赛5 ASplit
- Wannafly模拟赛5 DAria
- Wannafly模拟赛3 监视任务(贪心+线段树)
- Wannafly模拟赛5 待更新 题解
- Wannafly模拟赛5 F Course
- Wannafly 模拟赛5 E 思维+数论
- 10.9wannafly模拟赛
- Wannafly模拟赛4
- Wannafly模拟赛3
- Wannafly模拟赛2: A. Contest(Cdq分治)
- Wannafly模拟赛4 A Laptop (RMQ)
- Wannafly模拟赛4 A Laptop (前缀数组)
- Wannafly模拟赛4:A-Laptop(后缀)
- 如何能练就出水娃的思维模式
- 小问题
- Retrofit的使用(1)
- 画圆
- 淘淘商城商品删除
- Wannafly模拟赛5 A Split 【贪心】
- 最常用命令
- Java开发之Stream流研究
- Z
- Android 开放配件 (AOA)调试
- IResponse
- 图像的上采样(upsampling)与下采样(subsampled)
- Retrofit的使用(2)
- 2017.11.5