CF1195B Sport Mafia

CF1195B Sport Mafia

简单数学题。

列个方程,设操作了 xx 次,(如果设吃了多少次好像不太行)

等差数列求和公式: (1+2+3+...+n)=12(n+1)(n)(1+2+3+...+n)=\frac{1}{2}(n+1)(n)

于是乎就有方程: 12(x+1)(x)(nx)=m\frac{1}{2}(x+1)(x)-(n-x)=m

简单化简一下, x+x22n+2x=2mx+x^2-2n+2x=2m

合并同类项, x(x+3)=2m+2nx(x+3)=2m+2n

所以我们只需要暴力枚举 xx 即可。

代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,m;
	cin>>n>>m;
	int i=0;
	while(1)
	{
		if((i+3)*i==2*m+2*n)
		{
			cout<<n-i<<endl;
			break;
		}
		i++;
	}
}
posted @   June_Failure  阅读(0)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示