【CF1257A】Two Rival Students【思维】
2024-09-06 02:34:06
题意:给你n个人和两个尖子生a,b,你可以操作k次,每次操作交换相邻两个人的位置,求问操作k次以内使得ab两人距离最远是多少
题解:贪心尽可能的将两人往两边移动,总结一下就是min(n-1,|a-b|+x)
代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int T;
int n,m,a,b;
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d%d",&n,&m,&a,&b);
if(a>b)swap(a,b);
int t=min(a-,m);
a-=t;m-=t;
t=min(n-b,m);
b+=t;m-=t;
printf("%d\n",b-a);
}
return ;
}
最新文章
- 【Spring】Spring框架之Struts2和Spring的优点
- Nginx-->;进阶-->;Module-->;ngx_http_stub_status_module
- VBA在WORD中给表格外的字体设置为标题
- ie 与 Chrome 时间格式化问题.
- C#索引器及示例
- sublime主题推荐
- hdu 4762 Cut the Cake概率公式
- ASP中Utf-8与Gb2312编码转换乱码问题的解决方法 页面编码声明
- QTableWidget查找指定项(由github处学习到)
- 异步的两种写法: async 与 BeginInvoke
- find the closest sum to a target value
- Html基础详解之(jquery)之二
- css块级标签,行内标签,行内块标签的转换(2)
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(九)版本控制
- Windows中通过命令行新建文件夹、新建文件,和一些常用命令
- 第四章&#183; Redis的事务、锁及管理命令
- Python数据类型的可变与不可变
- 四、Logisitic Regssion练习(转载)
- macOS下Hive 2.x的安装与配置
- hdwiki 前后台版权信息在哪修改