考前提醒:注意实时关注各道题的ac人数 从而混分 别死磕某道题
注意数据范围 long long 数组大小 数组范围 输入输出 建议用scanf printf
cin cout 的优化语句不好记 ios::sync_with_stdio(false);
对于一眼看过去就是硬模拟的题 建议先找找规律 硬模拟费时费力 一般都不会过 数据量大点就寄了 除非是签到题特别简单的
训练时长 3个半小时 独立ac两道签到题 A L 看答案ac K 看答案都看不懂 B
由于时间有限 就不简述题目了 直接放答案题解
K
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1e6 + 10;
int num[N], cnt[N];
int main(){
ios::sync_with_stdio(false);//测试点七卡输入输出 md 压死骆驼的最后一个测试点
int n;
cin >> n;//输入元素 0 ~ n - 1 两个元素差值 0 ~ n - 2
for(int i = 0, j = 0; i < n; i ++){
cin >> num[i];
if(i > 0 && i <= n - 1)
cnt[j ++] = num[i] - num[i - 1];
}
sort(cnt, cnt + n - 1);
//差值前缀和 0 ~ n - 2
for(int i = 1; i < n - 1; i ++)
cnt[i] += cnt[i - 1];
int count;
cin >> count;
while(count --){
int op, x;
cin >> op >> x;
if(op == 1)
cout << num[0] - num[n - 1] + cnt[x - 2] << endl;
}
}