# 「DTOI-1」混乱人魂## 题目背景 当屏幕前的你正在 AKIOI 的时候滑稽怪开始了他的旅行。## 题目描述有 $n$ 条线段第 $i$ 条线段连接坐标 $a_i$ 和坐标 $a_i+1$其中 $a_n+1 = 10^10^10$。小 P 不希望看到存在 $1 leq i neq j leq n$使得第 $i$ 条线段和第 $j$ 条线段相交但不包含。为了达成这个目标她可以选择将一些 $a
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5, mod = 1e9 + 7;
int n, ans, cnt;
double a[N], mi[N], ma[N];
int main() {
scanf("%d", &n);
for(int i = 1; i <= n; i++) scanf("%lf", &a[i]);
mi[n] = ma[n] = a[n];
for(int i = n - 1; i >= 1; i--) {
mi[i] = min(mi[i + 1], a[i]);
ma[i] = max(ma[i + 1], a[i]);
}
double mx = -1e18;
for(int i = 1; i <= n; i++) {
if(ma[i] <= mx) cnt++;
else mx = ma[i], ans++;
}
printf("%d ", ans);
int res = 1;
for(int i = 1; i <= cnt; i++) res = (res << 1) % mod;
printf("%d\n", (res - 1 + mod) % mod);
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/dRtg 著作权归作者所有。请勿转载和采集!