【zznu-2173】
2024-08-27 02:12:29
题目描述
春天自幼学习人间大道,斩断情缘,现已修成正果,势必要斩尽巨魔。
某朝末年,战乱四起,民不聊生,魔界与人间界的封印减弱,n只巨魔趁机降临人间,祸乱百姓。
n只巨魔只知扰乱人间,会有天谴降临,所以排阵出了失传已久的一字长蛇阵。以天道使者春天为原点,分别在1,2,3...n公里处,春天日行一公里前进;
第 i 为位置巨魔日啖百姓 i 万 主角诛杀此魔需 i 天时间 主角从出发地赶往此地需 i 日
击杀 i 魔头时 i 魔头无法吞吃百姓。
由于春天看到巨魔太多乱了分寸,所以击杀顺序并不唯一,求出巨魔最少吞吃多少万百姓以及最多吞吃多少万百姓。
某朝末年,战乱四起,民不聊生,魔界与人间界的封印减弱,n只巨魔趁机降临人间,祸乱百姓。
n只巨魔只知扰乱人间,会有天谴降临,所以排阵出了失传已久的一字长蛇阵。以天道使者春天为原点,分别在1,2,3...n公里处,春天日行一公里前进;
第 i 为位置巨魔日啖百姓 i 万 主角诛杀此魔需 i 天时间 主角从出发地赶往此地需 i 日
击杀 i 魔头时 i 魔头无法吞吃百姓。
由于春天看到巨魔太多乱了分寸,所以击杀顺序并不唯一,求出巨魔最少吞吃多少万百姓以及最多吞吃多少万百姓。
输入
每行一个正整数n(0<n<1e4);
输出
两个正整数,分别表示巨魔最少吞吃以及最多吞吃多少百姓,用空格隔开。
样例输入
1
2
样例输出
1 1
7 9
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int main()
{
LL n;
while(~scanf("%lld", &n))
{
LL l = , r = n;
LL s = (+n)*n/;
LL ans = , ans1 = ;
LL ss = s;
for(LL i = ; i <= n; i++)
{
ans1 += ss*i;
ss -= i;
}
while(l <= r)
{
ans += (r-l+)*s;
s -= r;
if(s <= ) break;
ans += r*s;
r--;
ans += (r-l+)*s;
s -= l;
if(s <= ) break;
ans += l*s;
l++;
}
printf("%lld %lld\n", ans1, ans);
}
return ;
}
最新文章
- 如何升级PowerShell
- 配置JDK环境变量,与各步骤的意义
- 许小年:宁可踏空,不可断粮<;转>;
- APP icon 自动来做,photoshop 做圆角图片
- 堆栈的实现(c语言)
- 备份/恢复SQLSERVER数据库,SQL一步实现
- FileUpload无法赋值解决方案
- iOS 进阶 第十天(0410)
- WPF 中资源路径的问题
- vmware下linux 如何添加硬盘
- QListWidget的QComboBox下拉列表添加复选框及消息处理
- Laravel5 学习与使用(一)
- 学IT技术 轻松高薪就业
- CS0433: 类型“BasePage”同一时候存在于“c:\Windows\Microsoft.NETxxxxxxxxxxxxxxxx
- 06 Activity OnNewIntent方法
- 曾经进公司面试的C语言有关指针和数组的笔试题
- 【Redis】yum安装redis
- 20165313 《网络对抗技术》 Kali安装
- Git 将本地库添加到远程仓库
- OSFPv3的配置