题目链接:Codeforces 465B Inbox (100500)
题目大意:有一个邮件系统,给定哪些邮件是没有阅读的,现在有两种操作,返回列表,阅读下一篇,点击阅读,要求用尽量少的操作阅读完所有未读文件。
解题思路:水题,从上往下读,不连接的直接返回列表,点击阅读两步。
#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> vec;
int main () {
int n, x;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &x);
if (x&1)
vec.push_back(i);
}
int ret = vec.size() ? 1 : 0;
for (int i = 1; i < vec.size(); i++)
ret += (vec[i] != vec[i-1] + 1 ? 2 : 1);
printf("%d\n", ret);
return 0;
}