2021.1.4
超级卷王
Description
内卷指不能从外部渠道获取资源,没有产生整体的增量,只能在存量分配上做文章,往往损害内部一部分甚至绝大多数群体利益来补偿少数群体的利益,最终整体利益没有增加,持续性内耗的一种状态。内卷本身是个艰难晦涩的社会学专用名词,今天之所以能成为热搜,都是因为今天内卷是很多人今天可以亲身感受到的社会现象。
“内卷”被现在很多高校学生来指代非理性的内部竞争或“被自愿”竞争,这种风气已经逐渐蔓延到中小学甚至幼儿园。
已知浙江工业大学幼儿园今年有 n 名新生入学,每名同学会有以下属性:
编号 id_iid
i
初始能力值 s_is
i
自卷系数 p_ip
i
,即该名同学每天结束后能力能够增长 p_ip
i
为了选拔出一名“超级卷王”,浙工大幼儿园每天都会进行一次测试,直到角逐出“超级卷王”为止。
每次测试会根据同学们的能力值为第一关键字降序排名,编号为第二关键字按升序排名,淘汰排名较低的\lfloor \frac{n}{2} \rfloor⌊
2
n
⌋ 人 ( 其中\lfloor \frac{n}{2} \rfloor⌊
2
n
⌋ 指 nn 除 22 并向下取整)
在本次测试中排名前十的同学会受到老师的褒奖,备受激励,能力值立即增长RR。
当剩余人数不少于66人时,排名前三的同学会受到大多数人的嘲讽,心情变差,下一天能力值下降LL。
请你帮浙工大幼儿园的老师预测出最终的卷王是谁,并输出他的编号和最终的能力值。
Output
输出两个正整数,分别代表“超级卷王”编号和最终能力值,并用一个空格分隔。
Sample Input 1
2 2 0
1 2
1 2
4 1
Sample Output 1
2 4
Hint
第一天:
同学的编号为 1,21,2,能力分别为 1,21,2,排名分别为 2,12,1。
编号为 11 的同学被淘汰,22 号同学受到褒奖能力值增长 22,剩余人数少于 66,没有人受到嘲讽。
最终 22 号同学获胜,能力值为 44。
#include<bits/stdc++.h>
using namespace std;
struct stu {
int bianh;
int nengl;
int zij;
};
stu a[1000001];//结构体数组
int cmp1(stu a,stu b) {
if(a.nengl>b.nengl)return a.nengl>b.nengl;
return a.nengl<b.nengl;
}//为结构体定义排序类型
int main() {
int m,n,j,i,x,y,b,R,L;
cin>>n>>R>>L;
int len=n;
for(i=0; i<n; i++)
cin>>a[i].bianh;
for(i=0; i<n; i++)
cin>>a[i].nengl;
for(i=0; i<n; i++)
cin>>a[i].zij;//扫入数据
while(len>1) {
sort(a,a+len,cmp1);//将能力值排序
len=len/2+len%2;//长度除2并向下取整
for(i=0; i<len&&i<10; i++)
a[i].nengl+=R;//老师表扬
if(len>=6)
for(i=0; i<3; i++)
a[i].nengl-=L;//同学嘲讽
if(len==1)
break;//注意赶紧退出,仅剩一人不要再自卷
for(i=0; i<len; i++)
a[i].nengl+=a[i].zij;
}
printf("%d %d",a[0].bianh,a[0].nengl);
return 0;
}