前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【小码匠自习室】2023年第2题,随手签到A题,想通了,代码很简洁

【小码匠自习室】2023年第2题,随手签到A题,想通了,代码很简洁

作者头像
小码匠
发布2023-03-06 14:35:44
3550
发布2023-03-06 14:35:44
举报
文章被收录于专栏:小码匠和老码农

ARC152 - A - Seat Occupation

随手AC的A题

本题是昨天ARC153的线上赛太不友好了,随手签到了上一轮线上赛的A题,B题魔咒,我一定会打破的。

题目

L个椅子排成有一列,现在有N对人将依次参观和坐下。然而,每组是一人或2个人组成,第i对由a

_i

人访问。同时,访问的总人数等于L。

每一对都随机选择椅子中尚未被人占据的部分,在这一排椅子中所有成员都可以连续坐下,并占据这部分椅子。然而,如果没有地方可以让这对中的每个人连续坐下,他们就会在无法坐下的情况下离开。

在这一点上,判断你是否可以肯定地说,所有N对都可以坐下来,没有人离开。

限制条件
1\leq N\leq 2\times 10^5
1\leq a_i\leq 2
L=a_1 +a_2 +\ldots +a_N
  • 所有的输入值都是整数。

输入

输入通过标准输入进行,格式如下。

N L a

_1

a

_2
\ldots

… a

_N
输出

如果你能肯定地说 "所有N对都能坐下来,没有人离开",则输出 "Yes",否则输出 "No"。


输入示例1
代码语言:javascript
复制
2 4
2 2
输出示例 1
代码语言:javascript
复制
No

假设椅子从左到右编号为1、2、3、4。如果第一对人坐在2号和3号椅子上,后来的两个人就不能坐下来离开。因此,回答 "No",因为他们可能无法全部坐下。


输入示例 2
代码语言:javascript
复制
3 4
1 2 1
输出示例 2
代码语言:javascript
复制
Yes

可以考虑任何坐姿安排,以确保每个人都坐在椅子上。

小码匠

代码
代码语言:javascript
复制
#include <bits/stdc++.h>
 
using namespace std;
#define endl '\n';
 
void best_coder() {
    int n, l;
    cin >> n >> l;
    for (int i = 0; i < n; ++i) {
        int a;
        cin >> a;
        if (a == 2 && l < a) {
            cout << "No";
            return;
        }
        l -= a + 1;
    }
    cout << "Yes";
}
 
 
void happy_coder() {
}
 
int main() {
    // 提升cin、cout效率
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
 
    // 小码匠
    best_coder();
 
    // 最优解
    // happy_coder();
 
    // 返回
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小码匠和老码农 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ARC152 - A - Seat Occupation
    • 随手AC的A题
      • 题目
        • 限制条件
        • 输入
        • 输出
        • 输入示例1
        • 输出示例 1
        • 输入示例 2
        • 输出示例 2
      • 小码匠
        • 代码
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档