牛客网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, ...
随机推荐
- day02-格式化输出
python格式化字符串有%和{}两种 字符串格式控制符. 字符串输入数据格式类型(%格式操作符号) %%百分号标记%c字符及其ASCII码%s字符串%d有符号整数(十进制)%u无符号整数(十进制)% ...
- 重置mysql5.7密码
其实想要重置 5.7 的密码很简单,就一层窗户纸: 1.修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不 ...
- 学习别人的rpc框架
https://my.oschina.net/huangyong/blog/361751 https://gitee.com/huangyong/rpc 在此文基础上的另一个实现,解决了原文中一些问题 ...
- C++复习:C++的类型转换
C++的类型转换 1 类型转换名称和语法 C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a C++风格的类型转换提供了4种类型转换操作符来 ...
- IIS Express
当前程序员只能通过下面两种web服务器之一来开发和测试ASP.NET网站程序: 1. Visual Studio自带的ASP.NET开发服务器(webdev.exe). 2. Windows自带的II ...
- Android app 性能优化的思考--性能卡顿不好的原因在哪?
说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才 ...
- linux shell 语法学习
文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename 如果 filename为目录,则为真 [ -d /tmp/ ...
- Ajax核心技术代码
/* @author weichen */ var xhr = ''; function Ajax() { if(window.XMLHttpRequest) { var xhr = new XMLH ...
- JSP报错Syntax error, insert ";" to complete Statement
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 7 in ...
- 新书预告 ArcGIS跨平台开发系列第一本
新书预告 ArcGIS跨平台开发系列第一本 候选题目: ArcGIS Runtime开发实验实习教程 ArcGIS Runtime开发案例教程 简介: GIS最新现代开发理念打造的跨所有移动和桌面平台 ...