题目描述:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct xy{
int x;
int y;
};
//计算面积,从指令开始的坐标开始,水平绘制一条线段
int main() {
int n, e;
cin >> n >> e;
vector<xy> picture(n);
for(int i = 0;i<n;i++){
cin >> picture[i].x >> picture[i].y;
}
int height = 0;//初始y轴偏移量为0
int index = 0;
int sum = 0;//面积为0
for(int i = 0;i<n;i++){
if(index < picture[i].x){
int w = picture[i].x - index;
sum += abs(w*height);
height += picture[i].y;//更新高度
index = picture[i].x;//更新位置
}
else{
height += picture[i].y;
}
}
if(index < e){//还没有到终点
int w = e - index;
sum += abs(w*height);
}
cout << sum << endl;
}