- 电脑耗能计算
思路
- @ 2025-1-19 15:14:28
/*
计算的重点 在两段时间的间隔 l1r1 l2r2
应该是 r1~l2 这之间的功耗
n 共有几对 l r
p1 p2 p3 3种功耗
t1 t2 两个等待时间
ans = 0 , s 来表示上一次工作的结束时间
for(n 1~n){
cin >> l r
if(i>1){ //不是第一轮
//计算 s~l的功耗
ans += min(t1,l-s) * p1; //屏幕亮着时候的功耗
if(l-s > t1){ //存在屏保状态
ans += min(l-s-t1,t2) * p2;
if(l-s >t1+t2){
ans+= (l-s-t1-t2)*p3;
}
}
}
ans += (r-l)*p1;//绝对有
s = r;
}
*/
//电量
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,p1,p2,p3,t1,t2;
int l,r,s,ans=0;
cin>>n>>p1>>p2>>p3>>t1>>t2;
for(int i=1;i<=n;i++){
cin>>l>>r;
if(i>1){ //不是第一轮
ans += min(t1,l-s) * p1; //屏幕亮着时候的功耗
if(l-s > t1){ //存在屏保状态
ans += min(l-s-t1,t2) * p2;
if(l-s >t1+t2){
ans+= (l-s-t1-t2)*p3;
}
}
}
ans += (r-l)*p1;//绝对有
s = r;
}
cout <<ans;
return 0;
}
/*
自己根据思路 为什么代码没写对
*/
0 条评论
目前还没有评论...
信息
- ID
- 7
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 102
- 已通过
- 27
- 上传者