题解:P11061 【MX-X4-T1】「Jason-1」IO++
芜湖,第一次见到
思路
先解释题目。
一个只有输入输出的程序,它的行为用数组
但是呢,他有一个要求,输出的时候必须执行了
每输入或者输出一次,长度都加
如果我这次输出需要的输入次数不够,那我就增加输入次数,直到可以进行这一次输出,当然增加不要超过了,只要能刚好执行这一次的输出(其实就是比较啦,如果需要输入次数的比当前的大,就把当前的输入次数变成现在需要的输入次数,就是把 ans 变成
那我定义两个变量 ans 和 sum,它们分别用于求输入的次数和输出的次数,每到 sum 就加一,并且进行一次比较,如果
最后把两个加起来输出就可以了。
代码
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, sum = 0, ans = 0; //一个是输入的总量,一个是输出的总量
cin >> n;
while (n--) {
int a;
cin >> a;
if (a != 0) {
sum++;
ans = max(ans, a);
//max用于判断当前的输入次数能不能执行这一次输出
//如果不行,那就是不够,要再增加输入次数
//增加到刚好可以执行这一次输出
}
}
cout << ans + sum << endl;
system("pause");
return 0;
}
应该没人现在还做这道题吧。