博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #565 (Div. 3) C. Lose it!
阅读量:6573 次
发布时间:2019-06-24

本文共 1687 字,大约阅读时间需要 5 分钟。

链接:

题意:

You are given an array a consisting of n integers. Each ai is one of the six following numbers: 4,8,15,16,23,42.

Your task is to remove the minimum number of elements to make this array good.

An array of length k is called good if k is divisible by 6 and it is possible to split it into k6 subsequences 4,8,15,16,23,42.

Examples of good arrays:

[4,8,15,16,23,42] (the whole array is a required sequence);

[4,8,4,15,16,8,23,15,16,42,23,42] (the first sequence is formed from first, second, fourth, fifth, seventh and tenth elements and the second one is formed from remaining elements);
[] (the empty array is good).
Examples of bad arrays:

[4,8,15,16,42,23] (the order of elements should be exactly 4,8,15,16,23,42);

[4,8,15,16,23,42,4] (the length of the array is not divisible by 6);
[4,8,15,16,23,42,4,8,15,16,23,23] (the first sequence can be formed from first six elements but the remaining array cannot form the required sequence).

思路:

刚开始题目看错。。以为任意顺序的子序列。

map将值映射到1-6,然后每次遇到2-5中的x,从x-1的个数中移一个到x,最后看能移几个到6.

代码:

#include 
using namespace std;typedef long long LL;const int MAXN = 3e5 + 10;const int MOD = 1e9 + 7;int n, m, k, t;map
mp;int main(){ cin >> n; mp[4] = 1; mp[8] = 2; mp[15] = 3; mp[16] = 4; mp[23] = 5; mp[42] = 6; int vis[10] = {0}; int res = 0, temp = 0; int last = 1; int flag = 0; for (int i = 1;i <= n;i++) { int v; cin >> v; if (mp[v] == 1) vis[mp[v]]++; else if (vis[mp[v]-1]>0) { vis[mp[v]-1]--; vis[mp[v]]++; } } cout << n-6*vis[6] << endl; return 0;}

转载于:https://www.cnblogs.com/YDDDD/p/10998734.html

你可能感兴趣的文章
使用SimpleDateFormat出现时差
查看>>
关于linux低端内存
查看>>
url 的正则表达式:path-to-regexp
查看>>
ubuntu 16.04 安装PhpMyAdmin
查看>>
安卓开启多个服务
查看>>
设置分录行按钮监听事件
查看>>
C Primer Plus 第5章 运算符、表达式和语句 5.2基本运算符
查看>>
蓝牙手柄按键码
查看>>
redis启动失败
查看>>
Navicat for PostgreSQL 怎么维护数据库和表
查看>>
java并发库之Executors常用的创建ExecutorService的几个方法说明
查看>>
Spring框架错误之org.springframework.beans.factory.BeanCreationException
查看>>
23种设计模式(1):单例模式
查看>>
socket 编程入门教程(五)UDP原理:4、“有连接”的UDP
查看>>
linux sort 命令详解
查看>>
Jquery获取iframe中的元素
查看>>
Laravel 学习笔记5.3之 Query Builder 源码解析(下)
查看>>
Struts2简单入门实例
查看>>
Android应用及应用管理
查看>>
2012CSDN年度博客之星评选http://vote.blog.csdn.net/item/blogstar/xyz_lmn
查看>>