## #423

news/2024/8/9 3:45:55/

A. Restaurant Tables
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

In a small restaurant there are a tables for one person and b tables for two persons.

It it known that n groups of people come today, each consisting of one or two people.

If a group consist of one person, it is seated at a vacant one-seater table. If there are none of them, it is seated at a vacant two-seater table. If there are none of them, it is seated at a two-seater table occupied by single person. If there are still none of them, the restaurant denies service to this group.

If a group consist of two people, it is seated at a vacant two-seater table. If there are none of them, the restaurant denies service to this group.

You are given a chronological order of groups coming. You are to determine the total number of people the restaurant denies service to.

Input

The first line contains three integers na and b (1 ≤ n ≤ 2·1051 ≤ a, b ≤ 2·105) — the number of groups coming to the restaurant, the number of one-seater and the number of two-seater tables.

The second line contains a sequence of integers t1, t2, ..., tn (1 ≤ ti ≤ 2) — the description of clients in chronological order. If ti is equal to one, then the i-th group consists of one person, otherwise the i-th group consists of two people.

Output

Print the total number of people the restaurant denies service to.

Examples
input
```4 1 2
1 2 1 1
```
output
```0
```
input
```4 1 1
1 1 2 1
```
output
```2
```
Note

In the first example the first group consists of one person, it is seated at a vacant one-seater table. The next group occupies a whole two-seater table. The third group consists of one person, it occupies one place at the remaining two-seater table. The fourth group consists of one person, he is seated at the remaining seat at the two-seater table. Thus, all clients are served.

In the second example the first group consists of one person, it is seated at the vacant one-seater table. The next group consists of one person, it occupies one place at the two-seater table. It's impossible to seat the next group of two people, so the restaurant denies service to them. The fourth group consists of one person, he is seated at the remaining seat at the two-seater table. Thus, the restaurant denies service to 2 clients.

//一开始没用c记录两座已有一个人坐了的，然后就……

``````#include<iostream>
#include<cstdio>
using namespace std;
int main()
{int n, a, b, c,num, ans = 0;scanf("%d %d %d",&n, &a, &b);c = b;while(n--){scanf("%d",&num);if(num == 2){if(b > 0 && c > 0){b--;c--;}	elseans += 2;}else if(num == 1){if(a > 0)a--;else if(b > 0){b --;}else if(c > 0){c--;}else ans++;}}printf("%d\n",ans);
} ``````

B. Black Square
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Polycarp has a checkered sheet of paper of size n × m. Polycarp painted some of cells with black, the others remained white. Inspired by Malevich's "Black Square", Polycarp wants to paint minimum possible number of white cells with black so that all black cells form a square.

You are to determine the minimum possible number of cells needed to be painted black so that the black cells form a black square with sides parallel to the painting's sides. All the cells that do not belong to the square should be white. The square's side should have positive length.

Input

The first line contains two integers n and m (1 ≤ n, m ≤ 100) — the sizes of the sheet.

The next n lines contain m letters 'B' or 'W' each — the description of initial cells' colors. If a letter is 'B', then the corresponding cell is painted black, otherwise it is painted white.

Output

Print the minimum number of cells needed to be painted black so that the black cells form a black square with sides parallel to the painting's sides. All the cells that do not belong to the square should be white. If it is impossible, print -1.

Examples
input
```5 4
WWWW
WWWB
WWWB
WWBB
WWWW
```
output
```5
```
input
```1 2
BB
```
output
```-1
```
input
```3 3
WWW
WWW
WWW
```
output
```1
```
Note

In the first example it is needed to paint 5 cells — (2, 2)(2, 3)(3, 2)(3, 3) and (4, 2). Then there will be a square with side equal to three, and the upper left corner in (2, 2).

In the second example all the cells are painted black and form a rectangle, so it's impossible to get a square.

In the third example all cells are colored white, so it's sufficient to color any cell black.

//分析：特殊情况要分清楚，黑色细胞数确定， 只需确定构成正方形的最小边长

``````#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define INF 0x3f3f3f3f
int main()
{int n, m, i, j, right = 0, left = INF, up = INF, down = 0, sum = 0, ans = 0, flag = 1;char ch, space;scanf("%d %d", &n, &m);space = getchar();for(i = 0; i < n; ++i){for(j = 0; j < m ; ++j){ch = getchar();if(ch == 'B'){sum++;right = max(right, j);left = min(left, j);up = min(up, i);down = max(down, i);}else{flag = 0;}}space = getchar();}if(flag){if(n == m)printf("0\n");elseprintf("-1\n");}else if(sum <= 0){printf("1\n");}else if(!flag && sum){ans = max((right - left + 1), (down - up + 1));if(ans > n || ans > m)printf("-1\n");else{printf("%d\n",(ans*ans) - sum);}}} ``````

//待补充

### 439

1&#xff0e;政治 　　具体来说&#xff0c;政治共有六门课程需要复习&#xff0c;工作量大&#xff0c;任务较重。从历年考研试卷出题的情况看&#xff0c;六门课程在试卷中所占比重并不平均&#xff0c;所以我认为要根据各门课程的不同特点合理安排复习时间。 首先&#xf…

### LeetCode 436. 寻找右区间（二分查找）

1. 题目 给定一组区间&#xff0c;对于每一个区间 i&#xff0c;检查是否存在一个区间 j&#xff0c;它的起始点大于或等于区间 i 的终点&#xff0c;这可以称为 j 在 i 的“右侧”。 对于任何区间&#xff0c;你需要存储的满足条件的区间 j 的最小索引&#xff0c;这意味着区…

### Java实现 LeetCode 436 寻找右区间

436. 寻找右区间 给定一组区间&#xff0c;对于每一个区间 i&#xff0c;检查是否存在一个区间 j&#xff0c;它的起始点大于或等于区间 i 的终点&#xff0c;这可以称为 j 在 i 的“右侧”。 对于任何区间&#xff0c;你需要存储的满足条件的区间 j 的最小索引&#xff0c;这…

### 443

443是一个用于建立安全的Hypertext Transfer Protocol (HTTP) 连接的端口号。它是一个标准的端口号&#xff0c;用于安全的Web浏览器和Web服务器之间的通信。通常&#xff0c;443端口被用来传输加密的数据&#xff0c;并且通过使用SSL/TLS协议来保护数据的完整性和保密性。 443…

### 436-C++基础语法（71-80）

71、静态变量什么时候初始化&#xff1f; 初始化只有一次&#xff0c;但是可以多次赋值&#xff0c;在主程序之前&#xff0c;编译器已经为其分配好了内存&#xff1b;静态局部变量和全局变量一样&#xff0c;数据都存放在全局区域&#xff0c;所以在主程序之前&#xff0c;编…

### LeetCode 力扣官方题解 | 436. 寻找右区间

LeetCode 力扣官方题解 | 436. 寻找右区间 寻找右区间 题目描述 难易度&#xff1a;中等 给你一个区间数组 intervals &#xff0c;其中 intervals [i] [starti, endi] &#xff0c;且每个 starti 都 不同 。 区间 i 的 右侧区间 可以记作区间 j &#xff0c;并满足 star…

### 酷睿i513400参数 i5 13400功耗 i5 13400属于什么水平档次级别

i5-13400 CPU 拥有 6 个大核和 4 个小核&#xff0c;共计 10 核 16 线程&#xff0c;主频 2.5 GHz&#xff0c;全核睿频可达 4.1 GHz&#xff0c;单核睿频 4.6 GHz&#xff0c;配备 28 MB 的 L3 缓存&#xff0c;基础功耗 65W。 i513400组装电脑怎么搭配更合适这些点很重要 htt…