新生赛1008

Doing Homework again

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 2   Accepted Submission(s) : 1
Font: Times New Roman | Verdana | Georgia
Font Size: ← →

Problem Description

Bobo has just come back school from the 22th ACM/ICPC. Now he has a lot of

homework to do. Every teacher gives him a deadline of handing in the

homework. If Ignatius hands in the homework after the deadline, the teacher will

reduce his score of the final test. And now we assume that doing everyone

homework always takes one day. Beacuse Bobo is very lazy.So he wants you to

help him to arrange the order of doing homework to minimize the reduced score.

Input

The input contains several test cases. The first line of the input is a single integer T that is the number of test cases. T test cases follow.
Each test case start with a positive integer N(1<=N<=500) which indicate the number of homework.. Then 2 lines follow. The first line contains N integers that indicate the deadlines of the subjects, and the next line contains N integers that indicate the reduced scores.

Output

For each test case, you should output the smallest total reduced score, one line per test case.

Sample Input

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

Sample Output

0
3

5

#include<iostream> #include <algorithm> using namespace std; struct node {     int dead;     int scord; }; bool cmp(node a,node b) {     return a.scord>b.scord; } int main() {     int t;     cin>>t;     node lessons[10005];     int flag[10005];     while(t--)     {         int n,ans=0;         cin>>n;         fill(flag,flag+1005,0);         for(int i=0;i<n;i++)             cin>>lessons[i].dead;         for(int i=0;i<n;i++)             cin>>lessons[i].scord;         sort(lessons,lessons+n,cmp);         for(int i=0;i<n;i++)         {             int te=lessons[i].dead;             while(flag[te]){                 te--;}             if(te<=0) ans+=lessons[i].scord;             else flag[te]=1;         }         cout<<ans<<endl;     }     return 0; }

关于baseCTF新生的信息,当前提供的参考资料并未涉及相关内容。然而,在类似的网络安全竞中,通常会有一套标准的比流程和规则。 ### baseCTF新生概述 #### 比信息 baseCTF新生旨在为新手提供一个学习和实践信息安全技能的机会。这类事一般由高校社团、企业或安全社区组织举办,面向学生群体开放参与。比形式多采用解题模式(Jeopardy-style),即通过解决一系列与计算机科学领域相关的挑战来获得分数[^3]。 #### 比规则 - **注册报名**:参与者需提前完成在线注册并组建团队(如果允许组队)。每支队伍的人数上限取决于具体事规定。 - **题目类型**:涵盖但不限于逆向工程、密码学、二进制漏洞利用、Web渗透测试等多个方面。 - **得分机制**:成功解答一道题目即可获取相应分值;部分平台还可能设有动态积分系统,随着更多队伍解开某道题目的难度系数下降而调整其价值。 - **时间限制**:整个活动持续时间为若干小时至几天不等,期间选手们可以随时登录平台尝试答题。 - **荣誉奖励**:最终排名靠前的个人或团体将会得到实物奖品或是证书表彰。 #### 参方式 为了参加此类竞,建议关注各大院校官方公告栏发布的消息通知,加入相关QQ群聊或者订阅邮件列表以便及时掌握最新动态。此外也可以浏览一些知名的CTF站点如CTFtime.org查找即将举行的适合初学者级别的线上/线下事链接进行报名操作[^4]。 ```python import requests from bs4 import BeautifulSoup def get_ctf_events(): url = "https://ctftime.org/event/list/upcoming" response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') events = [] for event in soup.select('.table-responsive tr'): title = event.find('a').text.strip() start_time = event.select_one('.start-time').text.strip() end_time = event.select_one('.end-time').text.strip() events.append({ 'title': title, 'start_time': start_time, 'end_time': end_time }) return events[:5] print(get_ctf_events()) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值