news 2026/1/14 16:52:37

打卡信奥刷题(2549)用C++实现信奥 P2113 看球泡妹子

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2549)用C++实现信奥 P2113 看球泡妹子

P2113 看球泡妹子

题目背景

2014 年巴西世界杯开幕了,现在满城皆是世界杯,商家们利用它大赚一笔,小明和小红也借此机会增进感情。

题目描述

本届世界杯共有nnn支球队,mmm场比赛。男球迷小明喜欢看比赛,女球迷小红喜欢看帅哥。每支球队在小明眼里的实力值为aia_iai,在小红眼里的帅哥数量为bib_ibi

每场比赛有两个球队对抗,它们的编号分别是pip_ipiqiq_iqi。小明认为一场比赛的精彩度等于两队实力的乘积,小红则认为是两队帅哥数量之和。

由于体力的限制,他们最多只能看kkk场比赛。当然,只要看比赛,两个人一定会一起看。小明作为男生,理应迁就一下女生,所以,请你写一个程序,求出小红看到比赛的精彩度总和不小于ccc的情况下,小明看到比赛的精彩度的最大总和。

输入格式

第一行包含四个正整数n,m,k,cn,m,k,cn,m,k,c

第二行有nnn个用空格隔开的正整数aia_iai

第三行有nnn个用空格隔开的正整数bib_ibi

接下来mmm行,每行两个正整数pi,qip_i,q_ipi,qi

输出格式

一行,一个正整数表示小明看到比赛的精彩度的最大总和。如果无论如何都无法满足小红的要求,输出-1

输入输出样例 #1

输入 #1

4 3 2 5 2 2 1 3 1 1 1 2 1 2 2 3 3 4

输出 #1

7

说明/提示

数据范围与约定
  • 对于20%20\%20%数据,1≤n,m,k≤51 \le n,m,k \le 51n,m,k5
  • 对于100%100\%100%数据,1≤n≤1001 \le n \le 1001n1001≤k≤m≤1001 \le k \le m \le 1001km1001≤ai,bi≤101 \le a_i,b_i \le 101ai,bi101≤c≤1031 \le c \le 10^31c103

C++实现

#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>usingnamespacestd;constintN=110;intp[N],q[N],a[N],b[N],dp[N][N][20*N];intmain(){intn,m,i,j,t,k,c,ans=0;scanf("%d%d%d%d",&n,&m,&k,&c);for(i=1;i<=n;i++)scanf("%d",&a[i]);for(i=1;i<=n;i++)scanf("%d",&b[i]);for(i=1;i<=m;i++)scanf("%d%d",&p[i],&q[i]);memset(dp,0,sizeof(dp));for(i=1;i<=k;i++)for(t=i;t<=m;t++)for(j=20*m;j>=0;j--){//Ai<=10,上界2*10*mdp[i][t][j]=max(dp[i][t][j],dp[i][t-1][j]);if(j>=b[p[t]]+b[q[t]])if(dp[i-1][t-1][j-b[p[t]]-b[q[t]]]>0||j==b[p[t]]+b[q[t]])dp[i][t][j]=max(dp[i][t][j],dp[i-1][t-1][j-b[p[t]]-b[q[t]]]+a[p[t]]*a[q[t]]);if(j>=c)ans=max(ans,dp[i][t][j]);}if(ans>0)cout<<ans<<endl;elsecout<<-1<<endl;return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/17 11:12:57

通达信彩带表示的macd

{}W:1; M:1; MM:9*M; SHORT:MM*4/3; LONG:MM*26/9; DIFF:(EMA(CLOSE,SHORT)-EMA(CLOSE,LONG)); DEA:EMA(DIFF,MM),COLOR58FF58; MACD:2*(DIFF-DEA),COLORFFFF00,LINETHICK0; 红柱:DRAWBAND(MACD,RGB(180,50,50),0,RGB(0,128,0)); 绿柱:DRAWBAND(0,RGB(0,128,0),MACD,RGB(180,50…

作者头像 李华
网站建设 2025/12/17 11:11:58

双机热备全景剖析:从技术原理到角色视角的深度解构【20251217】001篇

文章目录 双机热备全景剖析:从技术原理到角色视角的深度解构 开篇:为何“永不宕机”成为数字时代的生死线? 第一章 本源探究:3W1H框架解构双机热备核心 1.1 WHAT(是什么)—— 技术本质的多层透视 1.2 WHY(为什么)—— 业务连续性的数字经济学 1.3 WHERE(用在哪里)——…

作者头像 李华
网站建设 2025/12/17 11:11:54

双机热备:从背景到实践的深度剖析【20251217】002篇

文章目录 **双机热备:从背景到实践的深度剖析** **前言:为什么需要“双机热备”?** 第一章:What —— 什么是双机热备? 1.1 定义(专业角度) 1.2 大白话解释(生活类比) 第二章:Why —— 为什么要用双机热备? 2.1 技术动因:单点故障是万恶之源 (1)硬件层面不可靠性…

作者头像 李华
网站建设 2025/12/17 11:10:51

《Python 数据序列化与反序列化全景解析:从基础到最佳实践》

《Python 数据序列化与反序列化全景解析&#xff1a;从基础到最佳实践》 一、开篇引入&#xff1a;为什么要关注序列化&#xff1f; 在现代软件开发中&#xff0c;数据的跨平台传输与持久化是不可或缺的环节。无论是 Web API 的 JSON 响应、机器学习模型的保存与加载&#xff…

作者头像 李华
网站建设 2025/12/27 10:25:12

零基础:100个小案例玩转Python软件开发!第五节:用户登录

欢迎回到我们的 《零基础&#xff1a;100个小案例玩转Python软件开发&#xff01;》 系列&#xff01;在本节课&#xff0c;我将教大家如何开发一个可以登录的界面。 我们先在PyMe中创建一个对话框窗口程序。 虽然这只是一个PyMe中的模版程序&#xff0c;但它具备一个简单的登录…

作者头像 李华