洛谷 P2695 骑士的工作

                      洛谷 P2695 骑士的工作

题目背景

你作为一个村的村长,保卫村庄是理所当然的了.今天,村庄里来了一只恶龙,他有n个头,恶龙到处杀人放火。你着急了。不过天无绝人之路,现在来了一个骑士团。里面有m位成员(往下看)

题目描述

每个人都可以砍掉一个大小不超过(<=)z的头,要money个金币,求最小花费。

输入输出格式

输入格式:

第一行两个整数 n m

下接n行,一个整数 表示n个头的大小。

下接m行,每个人可以砍的头大小或金币(金币==头的大小)。

输出格式:

一个整数,最小花费。如果无解,输出“you died!”

输入输出样例

输入样例#1: 复制

2 3
5
4
7
8
4

输出样例#1: 复制

11

说明

1<=n,m<=20000

思路:排序+枚举               难度:普及/提高-

#include<algorithm>
#include<cstdio>
using namespace std;
int n, m, k = 1;
int sum, tot;
int a[20005], b[20005];

int main() {
    scanf("%d%d", &n, &m);
    if(n > m) {
        printf("you died!");
        return 0;
    }
    for(int i = 1; i <= n; i++) scanf("%d", &a[i]);
    for(int i = 1; i <= m; i++) scanf("%d", &b[i]);
    sort(a+1, a+n+1);
    sort(b+1, b+m+1);
    for(int i = 1; i <= n; i++)
        for(int j = k; j <= m; j++)
            if(a[i] <= b[j]) {
                sum += b[j];
                k = j+1;
                tot++;
                break;
            }
    if(tot == n) printf("%d", sum);
    else printf("you died!");
    return 0;
}

原文地址:https://www.cnblogs.com/v-vip/p/8626658.html

时间: 2024-10-09 20:31:09

洛谷 P2695 骑士的工作的相关文章

洛谷——P2695 骑士的工作

https://www.luogu.org/problem/show?pid=2695 题目背景 你作为一个村的村长,保卫村庄是理所当然的了.今天,村庄里来了一只恶龙,他有n个头,恶龙到处杀人放火.你着急了.不过天无绝人之路,现在来了一个骑士团.里面有m位成员(往下看) 题目描述 每个人都可以砍掉一个大小不超过(<=)z的头,要money个金币,求最小花费. 输入输出格式 输入格式: 第一行两个整数 n m 下接n行,一个整数 表示n个头的大小. 下接m行,每个人可以砍的头大小或金币(金币==头

洛谷 P3355 骑士共存问题

题目描述 在一个 n*n个方格的国际象棋棋盘上,马(骑士)可以攻击的棋盘方格如图所示.棋盘上某些方格设置了障碍,骑士不得进入 对于给定的 n*n 个方格的国际象棋棋盘和障碍标志,计算棋盘上最多可以放置多少个骑士,使得它们彼此互不攻击 输入输出格式 输入格式: 第一行有 2 个正整数n 和 m (1<=n<=200, 0<=m<n2),分别表示棋盘的大小和障碍数.接下来的 m 行给出障碍的位置.每行 2 个正整数,表示障碍的方格坐标. 输出格式: 将计算出的共存骑士数输出 输入输出样

P2695 骑士的工作

#include<bits/stdc++.h>using namespace std;int n,m,size[1000000],big[1000000];int main(){ cin>>n>>m; for(int i=1;i<=n;i++) { cin>>size[i]; } for(int i=1;i<=m;i++) { cin>>big[i]; } sort(size+1,size+1+n); sort(big+1,big+1

洛谷 P3355 骑士共存问题【最小割】

同方格取数问题:https://www.cnblogs.com/lokiii/p/8430720.html 记得把障碍点去掉,不连边也不计入sum #include<iostream> #include<cstdio> #include<queue> #include<cstring> using namespace std; const int N=100005,inf=1e9,dx[]={-2,-1,1,2,2,1,-1,-2},dy[]={-1,-2,

网络流24题 洛谷 3355 骑士共存

转换成最小割: #include <bits/stdc++.h> using namespace std ; const int mx [ 9 ] = { 2 , 2 , -2 , -2 , -1 , 1 , -1 , 1 } ; const int my [ 9 ] = { -1 , 1 , -1 , 1 , 2 , 2 , -2 , -2 } ; const int N = 100000 + 10 , inf = 1e8 + 7 ; queue < int > q ; int

洛谷1130 红牌

洛谷1130 红牌 本题地址:http://www.luogu.org/problem/show?pid=1130 题目描述 某地临时居民想获得长期居住权就必须申请拿到红牌.获得红牌的过程是相当复杂 ,一共包括N个步骤.每一步骤都由政府的某个工作人员负责检查你所提交的材料是否符合条件.为了加快进程,每一步政府都派了M个工作人员来检查材料.不幸 的是,并不是每一个工作人员效率都很高.尽管如此,为了体现“公开政府”的政策,政府部门把每一个工作人员的处理一个申请所花天数都对外界公开. 为了防止所有申请

洛谷P1220 关路灯

洛谷1220 关路灯 题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯.    为了给村里节省电费,老张记录下了每盏路灯的位置和功率,他每次关灯时也都是尽快地去关,但是老张不知道怎样去关灯才能够最节省电.他每天都是在天亮时首先关掉自己所处位置的路灯,然后可以向左也可以向右去关灯.开始他以为先算一下左边路灯的总功率再算一下右边路灯的总功率,然后选择先关掉功率大

洛谷 P1131 BZOJ 1060 [ZJOI2007]时态同步

题目描述 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3….进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列). 在电路板上存在一个特殊的元件称为“激发器”.当激发器工作后,产生一个激励电流,通过导线传向每一个它所连接的节点.而中间节点接收到激励电流后,得到信息,并将该激励电流传向与它连接并且尚未接收到激励电流的节点.最终,激烈电流将到达一些“终止节点

【日常学习】【数学-其他】洛谷1403 约数研究题解

于是又要迎来洛谷那凌然无言以对的题目摘要= = 洛谷1403 约数研究 本题地址:http://www.luogu.org/problem/show?pid=1403 题目描述 科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机"Samuel2"的长时间运算成为了可能.由于在去年一年的辛苦工作取得了不错的成绩,小联允许用"Samuel2"进行数学研究. 小联最近在研究和约数有关的问题,他统计每个正数N的约数的个数,并以f(N)来表示.现