The 2018 ACM-ICPC Chinese Collegiate Programming Contest Fight Against Monsters
2024-08-24 08:26:56
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
#include <utility>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <cstdlib>
typedef long long ll;
#define lowbit(x) (x&(-x))
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
using namespace std;
int t,n;
const int N=1e5+;
struct Node{
int h;
ll w;
int f;
}node[N];
bool cmp(Node x,Node y){
double xx=1.0*x.f/x.w;
double yy=1.0*y.f/y.w;
return xx<yy;
}
/*
最好是先攻击 :被攻击次数越少,并且伤害力又大
也即是按照
需要被攻击的次数/伤害力
由小到大排序
*/
int main()
{
scanf("%d",&t);
for(int i=;i<=t;i++)
{ memset(node,,sizeof(node));
scanf("%d",&n);
ll sum=;
for(int i=;i<n;i++){
scanf("%d%lld",&node[i].h,&node[i].w);
sum+=node[i].w;
}
int k,ans;
for(int i=;i<n;i++)
{ k=;
ans=;
while(node[i].h>){
node[i].h-=k;
k++;
ans++;
}
node[i].f=ans;
}
sort(node,node+n,cmp);
ll ret=;
for(int i=;i<n;i++) {
node[i].f=node[i-].f+node[i].f;
}
for(int i=;i<n;i++)
{
ret+=node[i].f*node[i].w;
}
printf("Case #%d: %lld\n",i,ret);
}
return ;
}
最新文章
- C#播放MP3源代码
- Office 365 Licence使用情况统计
- [css 揭秘]-css coding tips
- CSS常用样式(三)
- ZOJ3675:Trim the Nails
- poj1680 最短路判环
- No matching bean of type [xx] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency
- 获取枚举Description的Name
- N的N次方(高校俱乐部)
- mysql for windows zip版安装
- MYSQL CASE WHEN THEN END 用法
- leetCode刷题(找出数组里的两项相加等于定值)
- MySQL 笔记整理(2) --日志系统,一条SQL查询语句如何执行
- [dev][ipsec] 什么是xfrm
- hdu-2072(字典树)
- HDU 1260
- 安卓内嵌H5只展示部分静态页面
- 误删除innodb ibdata数据文件 文件句柄 文件描述符 proc fd
- qt学习(一) qt安装
- Maven学习总结(八):Myecplise中配置maven