zzuli 20级第八次周赛 2753: 银灰的有趣(划掉)实验

题目描述

周末到了,在泰拉世界的一家医药公司罗德岛里,大多数干员都去放松了,但是作为喀兰贸易公司董事长————银灰,并没有休息,因为他正在进行一项有趣(划掉)的实验:观察源石虫在不同温度下的特性。
现在,有两只源石虫处于两间不同的房间,初始温度为x度和y度,现在,银灰有两种操作可以进行。
1.花费a秒,银灰使其中一个房间的温度上升或下降1度,并记录数据。例如,初始状态x=5,y=0,进行该项操作后可以任意选择如下四种状态之一:
x=4,y=0
x=6,y=0
x=5,y=1
x=5,y=-1
2.花费b秒,银灰和他的本体————丹增,分别使两个房间的温度同时上升或下降1度,并记录数据。例如,初始状态x=5,y=0,进行该项操作后可以任意选择如下两种状态之一:
x=6,y=1
x=4,y=-1
当两个房间温度都为0度时,实验结束。银灰想要尽快完成实验,因此他找到了你,你能帮助他得到该项实验最少在多少秒后结束么?
众所周知,泰拉世界的温度没有上限和下限。

输入

T(T <= 100)测试数据的组数。
每个测试数据第一行包含两个整数x和y(0 <= x,y <= 10^9)。
每个测试数据第二行包含两个整数a和b(0 <= a,b <= 10^9)。

输出

对于每个测试数据,输出一行包括一个整数————银灰最少花费多少秒才能完成实验。

样例输入

2
4 1
500 600
0 0
30 40

样例输出

2100
0

思路很简单,注意数据范围, 要用long long

#include<bits/stdc++.h>
using namespace std;

int main(){
	int t, x, y, b, a;
	long long ans = 0;
	cin >> t;
	while(t--){
		ans = 0;
		cin >> x >> y;
		cin >> a >> b;
		
		if(2*a <= b){
			ans = 1L* (x+y) * a;
		}else{
			ans = 1L * min(x, y) * b;
			ans = ans + (1L * abs(x-y) * a );
		}
		cout << ans << endl;
	}
} 
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库完整性是指数据库中数据的正确性、有效性和一致性,主要包括实体完整性、域完整性、参照完整性和用户定义的完整性。下面是一个简单的zzuli数据库完整性实验。 1. 创建一个学生表,包括学生ID、姓名、性别、年龄、班等字段。 ``` CREATE TABLE student ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, gender CHAR(1) NOT NULL, age INT NOT NULL, class_id INT NOT NULL, FOREIGN KEY (class_id) REFERENCES class(id) ); ``` 2. 创建一个班表,包括班ID、班名称等字段。 ``` CREATE TABLE class ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL ); ``` 3. 添加实体完整性约束,保证学生表中每个学生的ID是唯一的。 ``` ALTER TABLE student ADD CONSTRAINT pk_student_id UNIQUE (id); ``` 4. 添加域完整性约束,保证学生表中年龄必须大于等于18岁。 ``` ALTER TABLE student ADD CONSTRAINT chk_student_age CHECK (age >= 18); ``` 5. 添加参照完整性约束,保证学生表中的班ID必须是班表中已经存在的ID。 ``` ALTER TABLE student ADD CONSTRAINT fk_student_class FOREIGN KEY (class_id) REFERENCES class(id); ``` 6. 添加用户定义的完整性约束,保证学生表中的姓名必须是中文。 ``` ALTER TABLE student ADD CONSTRAINT chk_student_name CHECK (name REGEXP '^[\\u4e00-\\u9fa5]+$'); ``` 以上是一个简单的zzuli数据库完整性实验,可以通过SQL语句来实现各种完整性约束的设置,以保证数据的正确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值