【codeforces】题解 CF10A Power Consumption Calculation(题解)

模拟

排序

概率论

解模拟题的方法:

(1)认真仔细的读懂题目。模拟题的描述通常都比较详细,篇幅一般都比较长,应该边阅读边将有关的条件一条条地记录下来,阅读完成后要反复核对,绝对不能有错漏。

(2)建立各个条件之间的关系,最好用一些简明的表格列出。

(3)认真分析这些关系,并建立这些关系的数学模型。

(4)规划各个模块的结构,用相应的语言、逐步求精的方法描述具体的算法。

(5)编写程序,调试并运行。

(6)检查题目给出的样例能否通过。竞赛题目中一般都会给出输入输出样例,以便检查程序的输入输出格式是否正确,但这些样例往往会比竞赛时评判所用的测试数据简单,所以你不能满足于通过这些样例,还要尽量自拟一些更复杂、更全面的测试数据来检查程序的正确性。经过反复的调试、检查,才算完成该题。

好的,上代码~

ACcode:

#include<bits/stdc++.h>
using namespace std;
int n,p1,p2,p3,t1,t2;
int l,r,s,ans=0;
void inp();
void io();
int main()
{
	inp();
	io();
	return 0;
}
void inp()
{
	cin>>n>>p1>>p2>>p3>>t1>>t2;//读入
}
void io()//代码核心
{
	for(int i=1; i<=n; i++)
	{
		cin>>l>>r;
		if(i>1)
		{
			ans=ans+min(t1,l-s)*p1;
			if(l-s>t1)
			{
				ans=ans+min(l-s-t1,t2)*p2;
				if(l-s>t1+t2)
				{
					ans=ans+(l-s-t1-t2)*p3;
				}
			}
		}
		ans=ans+(r-l)*p1;
		s=r;
	}
	cout<<ans;
}

谢谢观看~~

如果这篇题解对您有帮助,请点赞噢~~

我的博客1

我的博客2

蓝蓝

posted @ 2020-02-13 15:58  BorisDimitri  阅读(50)  评论(0编辑  收藏  举报