牛客网Wannafly挑战赛15 B车辆安排(模拟)AND C 出队(规律)
传送门 :B题:点我
C题: 点我
题目描述
有n个队伍,每个队伍的人数小于等于5,每辆车最多坐5个人,要求一个队伍的人都在一辆车上,求最少的车数
输入描述:
第一行n
第二行n个数,表示每个队伍的人数
输出描述:
输出最少车数
输入例子:
3
3 4 5
输出例子:
3
-->
输入
3
3 4 5
输出
3
备注:
n≤1e5每个数小于等于5 思路:大力模拟。5自己一车,4跟1一车,然后3跟2一车,2的时候分情况考虑,如果2是偶数,那么2+2+1或者2+2,如果2是奇数,那么分成偶数+1,最后一个2,可以2+1+1+1,或者2+1+1或者2+1或者2,最后处理1
代码:(因为太长了就折叠了,然后最后附上了一些测试数据)
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <sstream>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <utility>
#include <bitset> using namespace std;
#define LL long long
#define pb push_back
#define mk make_pair
#define pill pair<int, int>
#define mst(a, b) memset(a, b, sizeof a)
#define REP(i, x, n) for(int i = x; i <= n; ++i)
int main(){
int n;
scanf("%d",&n);
int a[] = {};
for(int i = ; i < n ; i++){
int x;
scanf("%d",&x);
a[x]++;
}
int sum = a[];
if(a[] >= a[]){
sum += a[];
a[] -= a[];
}
else{
sum += a[];
a[] = ;
}
if(a[] >= a[]){
sum += a[];
a[] -= a[];
}//如果2 比 3多
else{
sum += a[];
a[] -= a[];
a[] = ;
int t = * a[];//a[3]可以带走多少a[1]
if(a[] >= t){
sum += a[];
a[] -= t;
}
else{
sum += a[];
a[] = ;
}
}
if(a[] >= ){
int d1,d2;
if(a[] % == ){
d1 = a[] / ;
if(a[] >= d1){
sum += d1;
a[] -= d1;
}
else{
sum += d1;
a[] = ;
} }
else{
d1 = a[] / ;
d2 = ;
sum += ;//无论怎么样多出来这一个2肯定要一辆车
if(a[] >= d1){
sum += d1;
a[] -= d1;
}
else{
sum += d1;
a[] = ;
}
if(a[] >= ){
a[] -= ;
}
else{
a[] = ;
}
}
}
if(a[] != ){
sum += (a[]% == ? a[]/ : a[]/ + );
}
printf("%d\n",sum);
}
/*
9
1 1 2 2 2 3 3 3 4
5 4
1 1 1 1
1 6
1 2 3 4 5 2
4 7
2 2 2 2 1 1 1
3 6
2 2 2 2 1 1
2 7
1 2 2 2 2 2 3
3 5
4 4 4 4 1
4 5
4 4 4 2 1
4 6
4 4 4 2 1 3
4 7
1 2 2 2 3 4 5
4 6
1 1 1 3 4 5
3
*/
C题 出队
是个CF原题额,就是换了个题面。http://codeforces.com/contest/950/problem/D
题目描述
输入描述:
第一行两个数n,q
接下来q行,每行一个数x,表示询问
输出描述:
一行输出一个询问的答案
输入例子:
4 3
2
3
4
输出例子:
3
2
4
-->
输入
4 3
2
3
4
输出
3
2
4
说明
1 2 3 4围成一圈,第一轮:1 2报数,1出队,2留下,3出队,4留下,第二轮,2出队,4留下
备注:
q≤500000
n和x≤1e18 代码:
#include<stdio.h>
typedef long long ll;
int main()
{
ll n,m,x;
scanf("%lld%lld",&n,&m);
while(m--)
{
scanf("%lld",&x);
while(x%==)
x=n+x/;
printf("%lld\n",(x+)/);
}
return ;
}
牛客网Wannafly挑战赛15 B车辆安排(模拟)AND C 出队(规律)的更多相关文章
- 牛客网 Wannafly挑战赛9 A.找一找-数据处理
好几天没好好学习了(咸鱼晒干了) 把稍微没那么咸鱼的几天前的一场牛客网的比赛稍微看了一下,菜的要死,这一场大数的比较多,都死了. A.找一找 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C ...
- 牛客网 Wannafly挑战赛 A 找一找 思考题
链接:https://www.nowcoder.com/acm/contest/71/A来源:牛客网 题目描述 给定n个正整数,请找出其中有多少个数x满足:在这n个数中存在数y=kx,其中k为大于1的 ...
- 牛客网 Wannafly挑战赛9 C.列一列-sscanf()函数
C.列一列 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld 链接:https://www.now ...
- 牛客网Wannafly挑战赛25A 因子(数论 素因子分解)
链接:https://www.nowcoder.com/acm/contest/197/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- 题解——牛客网Wannafly挑战赛23 B-游戏 (SG函数)
前言 比赛的时候没学过SG函数的蒟蒻以为是道结论题,但是不是QwQ 和dummyummy巨佬一起推了快三个小时的规律 最后去问了真正的巨佬__stdcall __stdcall面带微笑的告诉我们,这是 ...
- 牛客网 Wannafly挑战赛27 蓝魔法师
蓝魔法师 链接: https://www.nowcoder.com/acm/contest/215/C 来源:牛客网 题目描述 "你,你认错人了.我真的,真的不是食人魔."--蓝魔 ...
- 牛客网 Wannafly挑战赛8 B.LBJX的三角形
B-LBJX的三角形 链接:https://www.nowcoder.com/acm/contest/57/B来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K, ...
- 牛客网 Wannafly挑战赛8 A.小Y和小B睡觉觉
写了一会不想写了... A-小Y和小B睡觉觉 链接:https://www.nowcoder.com/acm/contest/57/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制: ...
- 牛客网 Wannafly挑战赛11 B.白兔的式子-组合数阶乘逆元快速幂
链接:https://www.nowcoder.com/acm/contest/73/B来源:牛客网 B.白兔的式子 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K, ...
随机推荐
- eclipse中jdk源码调试步骤
分析源码是学习一项技术内幕最有效的手段.由于正常的引入JAr包源码没法进行对源码打断点,想要深入了解源码不方便.下面就开始介绍源码调试的步骤. 1.在eclipse新建一个JAVA项目compare_ ...
- 没有cv2.so文件
最近发现opencv安装的有问题,发现少了cv2.so文件,这个文件是给python的调度包. 查来查去,发现cmake的时候有这个: -- Found PythonInterp: /usr/bin/ ...
- feedparser的安装
Python中常常要利用RSS下载文本.由于这个Python开源软件嘛,碎片化特别严重.反正是各种边边角角的小问题.网上找来找去找半天都没解决如何安装.我的是win7的.python 是3.4版本的. ...
- VC中链接错误,提示string重定义
VC链接错误,说是string已经有了实现了,只要 rebuild 一下好了. Linking...LINK : warning LNK4075: ignoring '/EDITANDCONTINUE ...
- 火狐Firefox浏览器所有历史版本下载地址
Mozilla Firefox 频繁的更新,导致许多好用的插件在更新后不能兼容,而且想换回低版本还不容易啊,官网上只看到最新版本和前一个版本的下载. 这里为大家提供了一个下载链接,是来自Mozilla ...
- day01-Python输出
输出 用print加上字符串,就可以向屏幕上输出指定的文字.比如输出'hello, world'>>>print 'hello, world' print语句也可以跟上多个字符串,用 ...
- as2 删除层级影片问题
关键要将main的引用赋值,防止被误删,导致加载swf空白 /** * 删除所有对象 * @param standByRemoveMc 影片对象 * @param removeSelf 是否删除自身 ...
- NSTimer内存泄漏
用NSTimer调用 timer = [NSTimer scheduledTimerWithTimeInterval:timerInterval target:self selector:@selec ...
- python redis客户端使用lua脚本
有一个需求,为一个key设置一个field存储时间戳,每当有新数据,判断新数据时间戳是否大于之前的时间戳,如果是,更新时间戳,由于依赖中间执行结果,所以使用lua减少客户端和服务端通信次数. #!/u ...
- Cannot detect Web Project version. Please specify version of Web Project through Maven project property <webVersion>. E.g.: <properties> <webVersion>3.0</webVersion> </properties>
鼠标放在问题出会出现set web project version to 3.0和set web project version to 3.1两个选项 随便选一个版本就好了