Codeforces Contest 870 前三题KEY
A. Search for Pretty Integers:
题目大意:给定N和M个数,从前一个数列和后一个数列中各取一个数,求最小值,相同算一位数。
一道水题,读入A、B数组后枚举i、j判断最小值即可,注意相同时只需要一位。
B. Maximum of Maximums of Minimums:
题目大意:给定N和K,表示一个有N个数的数列和可以分成K段,使每一段中的最小值最大。
分类讨论,有三种情况:
·K=1,取最小值。
·K=2,分成两段取两段最小值的最大值。
·K>=3,输出最大值。
相信很多人对K>=3这一定不是很懂,因为K>=3,所以可以把原数列的最大值单独拆一个,所以一定是最优解。
C. Maximum splitting:
题目大意:给定Q个数,求每个数最多能由几个合数组成。
如果数学好的同学应该知道,肯定是由4、6、9构成最多。
对于每个数Qi,有以下几种情况:
·Qi%4==0,输出Qi/4;
·Qi%4==1,我们需要拿2个4和这个1组成9,所以如果Qi/4>=2输出Qi/4-1,不然输出-1;
·Qi%4==2,我们需要拿1个4和这个2组成6,所以如果Qi/4>=1输出Qi/4,不然输出-1;
·Qi%4==3,因为3=1+2,所以我们需要拿3个4和这个3组成6和9,所以如果Qi/4>=3输出Qi/4-2,不然输出-1;
Code:
#include <cstdio>
#include <algorithm>
using namespace std;
int N,M,a[],b[];
int main(){
scanf("%d%d",&N,&M);
for(int i=;i<=N;i++)scanf("%d",&a[i]);
for(int i=;i<=M;i++)scanf("%d",&b[i]);
int ans=2e9;
for(int i=;i<=N;i++)
for(int j=;j<=M;j++){
if(a[i]==b[j])ans=min(ans,a[i]);
else ans=min(ans,min(a[i]*+b[j],b[j]*+a[i]));
}
printf("%d",ans);
return ;
}
Problem A
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int N,K,a[],min1[],min2[],wcc=2e9,wccc=-2e9;
int main(){
scanf("%d%d",&N,&K);
for(int i=;i<=N;i++)scanf("%d",&a[i]),wcc=min(wcc,a[i]),wccc=max(wccc,a[i]);
if(K==){printf("%d",wcc);return ;}
if(K==){
memset(min1,,sizeof(min1));
memset(min2,,sizeof(min2));
for(int i=;i<=N;i++)min1[i]=min(min1[i-],a[i]);
for(int i=N;i>=;i--)min2[i]=min(min2[i+],a[i]);
int ans=-2e9;
for(int i=;i<=N;i++)ans=max(ans,max(min1[i],min2[i]));
printf("%d",ans);
return ;
}
printf("%d",wccc);
return ;
}
Problem B
#include <cstdio>
using namespace std;
int Query,x;
int main(){
scanf("%d",&Query);
for(;Query;--Query){int o=;
scanf("%d",&x);
if(x%==){o=;if(x/<){printf("-1\n");continue;}}
if(x%==&&x/<){printf("-1\n");continue;}
if(x%==){o=;if(x/<){printf("-1\n");continue;}}
printf("%d\n",x/-o);
}
return ;
}
Problem C
Codeforces Contest 870 前三题KEY的更多相关文章
- Codeforces Round #524 (Div. 2)(前三题题解)
这场比赛手速场+数学场,像我这样读题都读不大懂的蒟蒻表示呵呵呵. 第四题搞了半天,大概想出来了,但来不及(中途家里网炸了)查错,于是我交了两次丢了100分.幸亏这次没有掉rating. 比赛传送门:h ...
- Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) (前三题题解)
这场比赛好毒瘤哇,看第四题好像是中国人出的,怕不是dllxl出的. 第四道什么鬼,互动题不说,花了四十五分钟看懂题目,都想砸电脑了.然后发现不会,互动题从来没做过. 不过这次新号上蓝名了(我才不告诉你 ...
- NOIP2008提高组(前三题) -SilverN
此处为前三题,第四题将单独发布 火柴棒等式 题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0 ...
- Codeforces Round #460 (Div. 2) 前三题
Problem A:题目传送门 题目大意:给你N家店,每家店有不同的价格卖苹果,ai元bi斤,那么这家的苹果就是ai/bi元一斤,你要买M斤,问最少花多少元. 题解:贪心,找最小的ai/bi. #in ...
- Codeforces Round #556 (Div. 2)-ABC(这次的题前三题真心水)
A. Stock Arbitraging 直接上代码: #include<cstdio> #include<cstring> #include<iostream> ...
- Codeforces Round #530 (Div. 2) (前三题题解)
总评 今天是个上分的好日子,可惜12:30修仙场并没有打... A. Snowball(小模拟) 我上来还以为直接能O(1)算出来没想到还能小于等于0的时候变成0,那么只能小模拟了.从最高的地方进行高 ...
- bestcoder Round #7 前三题题解
BestCoder Round #7 Start Time : 2014-08-31 19:00:00 End Time : 2014-08-31 21:00:00Contest Type : ...
- BestCoder Round #85 前三题题解
sum Accepts: 822 Submissions: 1744 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/13107 ...
- BestCoder Round #11 (Div. 2) 前三题题解
题目链接: huangjing hdu5054 Alice and Bob 思路: 就是(x,y)在两个參考系中的表示演全然一样.那么仅仅可能在这个矩形的中点.. 题目: Alice and Bob ...
随机推荐
- 解决Ubuntu启动错误——kernel panic not syncing vfs unable to mount root fs on unknown-block 0 0 – error
最近在倒腾Ubuntu,然后想着怎么美化一下界面,于是照着网上的教程整了一下Flatabulous这个软件,然后好像/boot就满了.关机之后再开机就出现了如题所述的错误,无法开机,也无法进入reco ...
- 理解Underscore中的restArgs函数
虽然Underscore并没有在API手册中提及到restArgs函数,我们仍然可以通过_.restArgs接口使用restArgs函数.如果不去阅读源码,我们很难发现Underscore中还有这样的 ...
- 导入项目@Override报错原因及解决办法
从别人那里拷贝来的项目,在人家的环境里没有错误,可是导入到自己本地工程之后报错,删除掉@Override注解后就不报错,导致该原因的是本地工程的JDK版本未更新. 解决办法:调整JDK版本 如此即可解 ...
- 八.安装Nginx
http://blog.csdn.net/grhlove123/article/details/47834673
- Kali-linux攻击WordPress和其他应用程序
今天越来越多的企业利用SAAS(Software as a Service)工具应用在他们的业务中.例如,他们经常使用WordPress作为他们网站的内容管理系统,或者在局域网中使用Drupal框架. ...
- 二叉树前序、中序、后序非递归遍历 144. Binary Tree Preorder Traversal 、 94. Binary Tree Inorder Traversal 、145. Binary Tree Postorder Traversal 、173. Binary Search Tree Iterator
144. Binary Tree Preorder Traversal 前序的非递归遍历:用堆来实现 如果把这个代码改成先向堆存储左节点再存储右节点,就变成了每一行从右向左打印 如果用队列替代堆,并且 ...
- PAT——1045. 快速排序
著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边. 给定划分后的N个互不相同的正整数的排列,请问有多 ...
- HUD 1288 Hat's Tea(反向的贪心,非常好的一道题)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1288 Hat's Tea Time Limit: 2000/1000 MS (Java/Others) ...
- 绘图驱动-OSD原理2
转载自:http://blog.pfan.cn/programming/21209.html 现在已经可以通过修改存储单元内容来改变OSD的像素,但还有个关键的问题是如何根据需要来进行操作,即如何将某 ...
- [SharePoint]如何去掉欢迎导航的信息?
在我们实际的开发过程中,经常会把SharePoint中的一些已有的feature去掉,如欢迎信息下面的“我的设置”,“对本页面进行个性化设置”.详细见下图: Figure 1 常见的欢迎信息的界面 ...