首页 > 其他分享 >B3912 [语言月赛 202312] 打表过样例

B3912 [语言月赛 202312] 打表过样例

时间:2023-12-13 22:11:54浏览次数:45  
标签:月赛 le 测试点 int 样例 分值 202312 Subtask

[语言月赛 202312] 打表过样例

题目背景

众所周知,一名负责人的出题人,不应当让如下的打表程序获得过多的分数。

#include<iostream>
int main() {
    std::cout << "Specific Value\n";
}

这个程序的功能是,输出一个特定的内容,以尝试通过一些测试点而获得分数。

经典的例子是:https://www.luogu.com.cn/problem/P8819,输出无解可以获得 45 分的成绩。

题目描述

很不幸,你遇到了不负责任的出题人。

在某道试题里,共有 \(N\) 个测试点,组成了 \(k\) 个 Subtask,第 \(i\) 个 Subtask 包含 \(p_i\) 个测试点,第 \(j\) 个测试点的编号为 \(w_{i,j}\)。请注意,一个测试点可能属于多个 Subtask。

Subtask

每个 Subtask 包含多个测试点和一个分值,当且仅当通过全部这些测试点时,才能获得这个 Subtask 的分值。一道题目的得分为通过的所有 Subtask 分值之和。

这是一道输出仅有一个数的题目,编号为 \(i\) 的测试点,标准答案为 \(A_i\)。

很不幸,由于命题人不负责任,\(A_i\) 中出现了大量重复,让打表选手有了可乘之机。

现在,你通过某种手段获得了全部的数据,请问输出哪个数,可以得到最高的分数?最高的分数是多少?

如果有多个数均可得到最高的分数,你只需要任意给出一个。

输入格式

输入共 \(k+3\) 行。

输入的第一行为一个正整数 \(k\)。

接下来 \(k\) 行:

  • 第 \(i\) 行的第一个数为 \(p_i\),代表第 \(i\) 个 Subtask 包含的测试点数目。
  • 接下来 \(p_i\) 个数,第 \(j\) 个代表测试点编号 \(w_{i,j}\)。
  • 最后一个数为 \(S_i\),代表这个 Subtask 的分值。

输入的第 \(k+2\) 行为一个正整数 \(N\)。

输入的第 \(k+3\) 行为 \(N\) 个非负整数,第 \(i\) 个代表 \(A_i\)。

输出格式

输出两行,每行一个整数。

第一行表示获得的最大分值。

第二行表示输出的数。

如果有多个数可以取到相同的最大分值,任意输出一个即可。

样例 #1

样例输入 #1

2
3 1 2 3 5
3 4 5 6 7
6
4 4 4 5 5 5

样例输出 #1

7
5

提示

数据规模与约定

  • 对于 \(30\%\) 的测试数据,\(1 \le N \le 100\),\(1 \le k,p_i \le 10\),\(1 \le A_i \le 100\)。
  • 对于 \(100\%\) 的测试数据,\(1 \le N \le 10^5\),\(1 \le k,p_i \le 5000\),\(1 \le w_{i,j} \le N\),\(1 \le S_i \le 10^9\),\(1 \leq A _ i \leq 10 ^ 9\)。

思路

模拟就可以解决这个问题,但是需要注意一些特殊地方

代码

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e5+10;

int s[N];
int f[N];
int w[N];

void solve(){
	int k;
	cin>>k;
	std::vector<int> a[k+1];

	for(int i=1;i<=k;i++){
		int p;
		cin>>p;
		for(int j=1;j<=p;j++){
			int x;
			cin>>x;
			a[i].push_back(x);

		}
		cin>>s[i];//这个包的分数

	}
	int n;
	cin>>n;
	std::map<int, int> mp;
	for(int i=1;i<=n;i++){
		int x;
		cin>>x;
		mp[i]=x;

	}
	for(int i=1;i<=k;i++){
		int c=mp[a[i][0]];
		int j;

		for(j=1;j<a[i].size();j++){
			if(mp[a[i][j]]!=c){
				break;

			}
		}
		if(j>=a[i].size()){
			w[i]=c;//第i个包的答案
		}
		else{
			w[i]=-1;

		}
	}
	for(int i=1;i<=k;i++){//f数组
		int x=w[i];
		if(x<0){
			continue;//这个是不做求和的
		}
		for(int j=i;j<=k;j++){
			if(i!=j){
				if(w[j]==x){
					s[i]+=s[j];

				}
			}
		}
	}
	int maxn=-1;
	int flag=-1;
	for(int i=1;i<=k;i++){
		if(w[i]!=-1){
			if(maxn<s[i]){
				maxn=s[i];
				flag=w[i];

			}
		}
	}
	cout<<maxn<<endl;
	cout<<flag<<endl;
	return ;
	

}

signed main(){
	int t;
	t = 1;
	while (t--)
	{
		solve();
	}
	return 0;

}

标签:月赛,le,测试点,int,样例,分值,202312,Subtask
From: https://www.cnblogs.com/du463/p/17900060.html

相关文章

  • [20231213]tmux与环境变量PTAH.txt
    [20231213]tmux与环境变量PTAH.txt--//昨天给一台机器安装配置tmux,发现登陆tmux后环境变量PATH特别长,问题在于tmux登陆后要重复执行.bash_profile的内容.--//以前遇到过,主要问题在于.bash_profile在配置PATH时写法不合理.exportPATH=$PATH;...exportPATH=$PATH;...exportPAT......
  • 20231213matlab问题资料汇总
    https://bbs.csdn.net/topics/390064770https://www.ilovematlab.cn/forum.php?mod=viewthread&tid=455375&_dsign=7812fb23https://blog.csdn.net/fmber/article/details/85858771https://www.mathworks.com/help/dotnetbuilder/MWArrayAPI/html/T_MathWorks_MATL......
  • 20231210-sdfz 集训-网络流
    网络流学习笔记20231210不太想写,但是还是写一下吧。早上被喊起来上课/kk不愧是yny,最后5分钟不知道讲了多少道题。最大流前面没听/kkDinic算法的时间复杂度是是\(\mathcalO(n^2m)\),而在二分图上面可以变成\(\mathcalO(m\sqrtn)\)P3163[CQOI2014]危桥Alice......
  • [20231207]开发不应该这样写sql4.txt
    [20231207]开发不应该这样写sql4.txt--//最近在优化sql语句,发现另外一种风格,实际上以前也遇到过,感觉这就像一种病,会传染只要一个这样写后面的要么跟进要么--//不改。我觉得开发应该感谢exadata,不然我们的生产系统估计会垮掉。1.环境:XXXXXX>@ver1PORT_STRING          ......
  • 20231210
    研究人的情绪是很有意思的事情呢。我前几天确实很多负能量,缓了一天算是渐渐平复下来了。但是我现在仍然是很情绪化的。为什么有人会比我还情绪化啊。你先跟一个情绪化的人开玩笑,那个人骂了你一句sb你就开始认真了?你是不能被骂还是什么?我的情绪对你来说很重要吗?你很关心......
  • 20231209
    我还活着。早上一起来就绷不住了。我昨天收拾塑形镜的用具的时候忘了把护理液拿回来。昨晚我给家长说了,然后家长说没有就不用了呗。然后今天早上我就没用。我妈拿着一个没开封的护理液(外面的盒子都没拆)问我我用了吗。(这算是明知故问吗?)我疑惑了,我说我没用,我不知道啊。我妈......
  • [20231204]快速删除大量文件测试(rsync版本)4.txt
    [20231204]快速删除大量文件测试(rsync版本)4.txt--//前个星期做了大量文件测试,发现只要顺着inode节点顺序删除文件效率最高.--//还有一种方式使用rsync,利用建立空目录使用同步功能,删除对应目录里面的全部文件.--//我记忆里以前测试效率不错,今天做具体探究.1.建立测试环境:$mo......
  • 20231208练习
    【2022.12.30提高组模拟】依依寺(yiyi)ProblemDescription从前有个寺庙,名为依依寺。寺庙因《诗经.小雅》中的“昔我往矣,杨柳依依。今我来思,雨雪霏霏。“而得名。庙里有个老和尚和小和尚。老和尚叫章丘样,小和尚叫章扬扬。老和尚说“从前有个寺庙,名为依依寺。庙里有个老和尚和小......
  • 20231207
    今天上课完成的测试 个人观点非正确答案 软件需求与分析课堂测试之九-面向对象设计与分析      阅读下列图和文字材料 ,回答问题1至问题3。某物品拍卖网站为参与者提供物品拍卖平台,组织拍卖过程,提供在线或线下交易服务。网站的主要功能描述如下:(1)拍卖参与者分......
  • 每日总结20231207
    代码时间(包括上课)5h代码量(行):100行博客数量(篇):1篇相关事项:1、今天是周四,这周的课到此结束,上课的随堂测试也是回答的十分顺利,全部正确,并且在最后的一节课上查了软件设计师的成绩,让人十分高兴,我顺利的通过了,而且每科均达到五十分以上。2、今天下午的时候把我们班的发展团员的相关......