Contest Start

题目大意

有 \(n\) 个人报名参加一个比赛,从 \(0\) 时刻开始每隔 \(x\) 分钟有一个人开始比赛,每个人参赛时间相同,均为 \(t\) 。定义一个选手的不满意度为他结束比赛时已经开始但尚未结束比赛的人数,求所有选手不满意度的总和。

题外话

这场 \(CF\) 私以为 \(B\) 题才是最简单的一道题, \(A\) 题比 \(B\) 题要难一些,但其实也比较容易。

分析

我们可以先考虑分析一下样例(下展示样例 \(4\) 、 \(2\) 、 \(5\) ):

一号 二号 三号 四号
开始时间 0 2 4 6
结束时间 5 7 9 11
不满意度 2 2 1 0

其实题目告诉我们每个选手的参赛时间相同且开始时间有着相同的间隔,应该不难想到肯定又一定的规律存在。

就例如这组样例,虽然比较小,但是我们也能注意到,一号和二号的不满意度没有变化,想象有更多的参赛选手,是否会有更多的选手不满意度为 \(2\) ?至于最后两个选手不满意度变化的原因,很显然其实是因为后面已经没有更多的选手了,所以会一次递减 \(1\) 。

于是很容易想到,其实答案就是前面一串相同的加上后面的等差数列,重点是如何求前面一串相同不满意度的个数

这个其实比较容易想,就是 $\lfloor \frac{t}{x}\rfloor $ ,参赛的时间除以间隔,想一想其实就是在自己参赛的这段时间内有多少人开始了比赛。

又因为最后一个人的不满意度肯定为 \(0\) ,肯定能和前面形成一串长度未知的递减数列(如果不能,那其实就是所有人的不满意度肯定为 \(0\) 了,这种情况不影响我们的讨论)。

这个数列的长度是多少呢?他肯定会一直递增到一个人的参赛时间内最多有多少人开始比赛的数量,也及时我们的 $\lfloor \frac{t}{x}\rfloor $ ,最后我们只需要注意一个地方,就是可能人数不够,只需要在该长度和 \(n\) 之间取最小值就行了。

既然我们已经知道了这里的长度 \(l\) ,前面一连串相等值的长度就是 \(n-l\) ,加起来就完了。

CODE

#include <bits/stdc++.h>
#define int long long
using namespace std;
inline int read()
{
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9') { if(ch=='-') w*=-1; ch=getchar(); }
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
int k,n,x,t;
signed main()
{
k=read();
while(k--){
n=read(),x=read(),t=read();
int temp=min(t/x,n-1);
int ans=(n-temp)*temp;
temp--;
ans+=(1+temp)*temp/2;
printf("%lld\n",ans);
}
return 0;
}

CF1539A Contest Start[题解]的更多相关文章

  1. AtCoder Beginner Contest 154 题解

    人生第一场 AtCoder,纪念一下 话说年后的 AtCoder 比赛怎么这么少啊(大雾 AtCoder Beginner Contest 154 题解 A - Remaining Balls We ...

  2. AtCoder Beginner Contest 153 题解

    目录 AtCoder Beginner Contest 153 题解 A - Serval vs Monster 题意 做法 程序 B - Common Raccoon vs Monster 题意 做 ...

  3. AtCoder Beginner Contest 177 题解

    AtCoder Beginner Contest 177 题解 目录 AtCoder Beginner Contest 177 题解 A - Don't be late B - Substring C ...

  4. AtCoder Beginner Contest 184 题解

    AtCoder Beginner Contest 184 题解 目录 AtCoder Beginner Contest 184 题解 A - Determinant B - Quizzes C - S ...

  5. M-SOLUTIONS Programming Contest 2020 题解

    M-SOLUTIONS Programming Contest 2020 题解 目录 M-SOLUTIONS Programming Contest 2020 题解 A - Kyu in AtCode ...

  6. AtCoder Beginner Contest 173 题解

    AtCoder Beginner Contest 173 题解 目录 AtCoder Beginner Contest 173 题解 A - Payment B - Judge Status Summ ...

  7. AtCoder Beginner Contest 172 题解

    AtCoder Beginner Contest 172 题解 目录 AtCoder Beginner Contest 172 题解 A - Calc B - Minor Change C - Tsu ...

  8. AtCoder Beginner Contest 169 题解

    AtCoder Beginner Contest 169 题解 这场比赛比较简单,证明我没有咕咕咕的时候到了! A - Multiplication 1 没什么好说的,直接读入两个数输出乘积就好了. ...

  9. AtCoder Beginner Contest 148 题解

    目录 AtCoder Beginner Contest 148 题解 前言 A - Round One 题意 做法 程序 B - Strings with the Same Length 题意 做法 ...

随机推荐

  1. 使用Jekyll + GitHub Pages免费搭建个人博客

    使用Jekyll + GitHub Pages免费搭建个人博客 My Blog:无名の辈 | VectorX (vectorxxxx.github.io) Download Ruby:Download ...

  2. 初具雏形的UL标准侧重于自主车辆的安全性

    初具雏形的UL标准侧重于自主车辆的安全性 Nascent UL standard focuses on autonomous vehicle safety 就任何自主汽车(AV)的安全性进行可信的争论 ...

  3. 从Vehicle-ReId到AI换脸,应有尽有,解你所惑

    最近在做视频搜索的技术调研,已经初步有了一些成果输出,算法准确性还可以接受,基本达到了调研的预期.现将该技术调研过程中涉及到的内容总结一篇文章分享出来,内容比较多,初看起来可能关系不大,但是如果接触面 ...

  4. UF_VIEW 视图操作

    Open C   uc6400uc6401uc6402uc6403uc6404uc6405uc6406uc6408uc6409uc6430uc6431uc6432uc6433  获得视图3×3矩阵uc ...

  5. Golang学习(用代码来学习) - 第三篇

    type Books struct { title string author string subject string id int } /** 结构体的学习 */ func struct_tes ...

  6. 解决mac中adb: command not found

    在Mac系统中,很多时候第一次在Android SDK中使用adb的时候.无法使用.会提示-bash: abd: command not found. 造成此类现象的原因是:未配置Android的环境 ...

  7. 给STM32MP157C-DK2烧录固件

    环境: 一台PC(window/linux) STM32CubeProgrammer 我下载到的是 2.1 版本(19\07\10下载的) 里面的文件是: 里面有 3 个文件,分别window.Lin ...

  8. 如何在Linux下部署Samba服务?

    Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件 ...

  9. AnyCast技术

    在公司项目经历过DDoS攻击后,选用了一些比较成熟的DDoS防护厂商,在学习过程中,发现,许多DDoS厂商的防护技术都离不开 Anycast网络. 所以在这里整理一下AnyCast的相关资料. 1. ...

  10. 什么样的CRM系统适合以客户为中心的企业?

    我们不难发现,现代的企业非常依赖CRM系统,这是因为20%的优质客户能够给企业带来80%的利润,而老客户的推荐可以带来60%的客户增长.那么,什么样的CRM系统适合企业?随着信息技术的发展,客户开始拥 ...