【题目链接】:http://codeforces.com/contest/807/problem/D

【题意】



给出n个人的比赛信息;

5道题

每道题,或是没被解决->用-1表示;

或者给出解题的所用的时间;

(每道题的分数与解决率有关,越高,分越低);

然后有个人想利用这个特点,注册很多个账号;

试图改变每道题的解决率,以期让自己的分数大于某个人;

如果这个人没有解决某道题的话;

那些新加入的人也不能解决那道题.

问最少需要注册多少个账号才能让你的分数大于某个人;

【题解】



顺序枚举加入了多少个人->k;

对于自己做得快的题,让这道题的解决率变低,让这题更有价值,即这k个人都没做对;

对于自己做得慢的题,让这道题的解决率变高,让这题价值变得低一点,即这k个人都做对了这题;

当然,对于你自己都没做对的题,你只能让他们都做不对这题啦



【Number Of WA】



1



【完整代码】

#include <bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define ms(x,y) memset(x,y,sizeof x) typedef pair<int,int> pii;
typedef pair<LL,LL> pll; const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
const double pi = acos(-1.0);
const int N = 120+20; int n,solves[6],a[N][6],tsolves[6]; int cal(int time,int ac,int tot)
{
if (time==-1) return 0;
if (2*ac>tot) return 2*(250-time);
if (4*ac>tot) return 4*(250-time);
if (8*ac>tot) return 6*(250-time);
if (16*ac>tot) return 8*(250-time);
if (32*ac>tot) return 10*(250-time);
return 12*(250-time);
} bool check(int k)//k是枚举的添加的cheater参赛选手个数
{
rep1(i,1,5) tsolves[i] = solves[i];
rep1(i,1,5)
{
if (a[1][i]!=-1)//需要先解决这个问题,新注册的账号才能提交正确的
{
if (a[2][i]==-1)
{
//keep the ratio
}
else
if (a[1][i]>a[2][i])//如果用的时间比较长,让这个题的AC率
//提高
{
tsolves[i]+=k;
}
}
}
int l = 0,r = 0;
rep1(i,1,5)
{
l+=cal(a[1][i],tsolves[i],n+k);
r+=cal(a[2][i],tsolves[i],n+k);
}
return l>r;
} int main()
{
//freopen("D:\\rush.txt","r",stdin);
ios::sync_with_stdio(false),cin.tie(0);//scanf,puts,printf not use
cin >> n;
rep1(i,1,n)
{
rep1(j,1,5)
{
cin >> a[i][j];
if (a[i][j]!=-1)
solves[j]++;
}
}
rep1(i,0,n*33)
{
if (check(i))
{
cout <<i <<endl;
return 0;
}
}
cout <<-1<<endl;
return 0;
}

【codeforces 807D】Dynamic Problem Scoring的更多相关文章

  1. 【codeforces 527D】Clique Problem

    [题目链接]:http://codeforces.com/contest/527/problem/D [题意] 一维线段上有n个点 每个点有坐标和权值两个域分别为xi,wi; 任意一对点(i,j) 如 ...

  2. 【codeforces 793C】Mice problem

    [题目链接]:http://codeforces.com/contest/793/problem/C [题意] 给你每个点x轴移动速度,y轴移动速度; 问你有没有某个时刻,所有的点都"严格& ...

  3. 【26.09%】【codeforces 579C】A Problem about Polyline

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  4. 【codeforces 749A】Bachgold Problem

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  5. codeforces 807 D. Dynamic Problem Scoring(贪心+思维)

    题目链接:http://codeforces.com/contest/807/problem/D 题意:对于动态计分的 Codeforces Round ,已知每题的 score 是根据 Round ...

  6. 【Codeforces 1096D】Easy Problem

    [链接] 我是链接,点我呀:) [题意] 让你将一个字符串删掉一些字符. 使得字符串中不包含子序列"hard" 删掉每个字符的代价已知为ai 让你求出代价最小的方法. [题解] 设 ...

  7. Codeforces Round #412 (rated, Div. 2, base on VK Cup 2017 Round 3) D - Dynamic Problem Scoring

    地址:http://codeforces.com/contest/807/problem/D 题目: D. Dynamic Problem Scoring time limit per test 2 ...

  8. Codeforces Round #412 Div. 2 补题 D. Dynamic Problem Scoring

    D. Dynamic Problem Scoring time limit per test 2 seconds memory limit per test 256 megabytes input s ...

  9. AC日记——Dynamic Problem Scoring codeforces 807d

    Dynamic Problem Scoring 思路: 水题: 代码: #include <cstdio> #include <cstring> #include <io ...

随机推荐

  1. 很不错的点餐系统应用ios源代码完整版

    该源代码是一款很不错的点餐系统应用,应用源代码齐全,执行起来很不错,基本实现了点餐的一些经常使用的功能,并且界面设计地也很不错,是一个不错的ios应用学习的样例,喜欢的朋友能够下载学习看看,很多其它i ...

  2. .net core虚拟目录配置

    .net core在iis上配置虚拟目录不起作用,只需要将app.UseStaticFiles中物理路径PhysicalFileProvider改为指定的路径即可,如:E:\\Html\\News a ...

  3. js原生_获取url键值对

    思路: 1.先对url进行处理,获取 ?后的字符串 postid=10457794&actiontip=保存修改成功') 2. 字符串通过&标识,不同参数转为数组 ["pos ...

  4. css处理图片下方留白问题

    引用图片的时候,图片和下方内容会有一点小空白,大概如下图紫色横条: 不是说有margin还是padding,是因为ing是行级元素,浏览器就会默认留白了,这时候处理方法很简单,给img加上样式disp ...

  5. 【Arduino】基于arduino的激光坦克

    历经了总共40来个小时,终于将这个激光坦克做好了. 这是本人的第一件像样的arduino作品. 用arduino为主控制器,配有32路舵机驱动板(在这有些大材小用了),以及一个wr703n的路由器当做 ...

  6. (转载) popupWindow 指定位置上的显示

    popupWindow 指定位置上的显示 标签: androidpopupWindowpopupWindow具体位置放置 2014-07-09 16:23 1114人阅读 评论(0) 收藏 举报  分 ...

  7. asp.net URL传递中文参数System.Web.HttpUtility.UrlEncode与Server.UrlEncode的区别

    asp.net URL传递中文参数System.Web.HttpUtility.UrlEncode与Server.UrlEncode的区别(一) HttpUtility.UrlEncode 方法: 对 ...

  8. 【Oracle】跟踪文件目录(User_Dump_Dest)生成脚本(11g/9i).txt

    oracle 11g 生成跟踪目录(User_Dump_Dest)脚本: –设置合适显示长度: column trace new_val TRACE format a100 –脚本: select c ...

  9. 【Oracle】创建用户

    任务: 1)创建用户siebel,密码oracle 2)授予sse_role,tblo_role角色 3)siebel用户没有对system,sysaux的使用权限 4)默认表空间ts_users,无 ...

  10. testdirector

    TestDirector是全球最大的软件测试工具提供商Mercury Interactive公司生产的企业级测试管理工具,也是业界第一个基于Web的测试管理系统