列表

详情


NC229836. 罚时

描述

ACM国际大学生程序设计竞赛是由国际计算机学会主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。参赛队伍最多由三名参赛队员组成,竞赛中一般命题10-13题,试题描述为英文,比赛时间为5个小时,前4个小时可以看到实时排名,最后一小时封榜,无法看到排名。竞赛可以使用C、C++和Java。重点考察选手的算法和程序设计能力,选手可携带任何非电子类资料,包括书籍和打印出来的程序等。 返回结果Accepted表示答案正确,Wrong Anwser表示答案错误,Presentation Error表示程序没按规定的格式输出答案,Compile Error,表示程序编译错误。

另外,ACM比赛有个罚时的概念,即每题罚时为从比赛开始到AC的时间+错误提交数*20分钟,没有AC的题目不计罚时,已经AC过的题目后续操作不计入罚时。

现在小布丁想考考大家有没有理解什么是罚时,于是将某支队伍在某次ACM竞赛中的过题情况发给了大家,你需要写一个程序来计算出这支队伍的罚时。

输入描述

第一行包含一个正整数T,表示试题的个数

第二行包含T个整数代表每个题的过题时间,如果某个题的过题时间为0,代表此题还没有AC。

第三行包含T个整数代表每个题的提交次数,提交次数少于50。(当然,如果某道题已经AC过了,他们不会再AC第二次)。

输出描述

一行输出一个整数,代表罚时数。

示例1

输入:

11
240 0 0 58 0 0 14 0 127 0 11
4 0 1 2 0 0 1 0 1 0 1

输出:

530

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++(g++ 7.5.0) 解法, 执行用时: 3ms, 内存消耗: 396K, 提交时间: 2022-11-11 02:39:55

#include<iostream>
using namespace std;
int s[15];
int x[15];
int main(){
int T,sum=0;
cin>>T;
for(int i=1;i<=T;i++){
cin>>s[i];
sum+=s[i];
}
for(int i=1;i<=T;i++){
cin>>x[i];
if(s[i]!=0){
sum+=(x[i]-1)*20;
}
}
cout<<sum<<endl;
}

C++ 解法, 执行用时: 3ms, 内存消耗: 412K, 提交时间: 2021-11-20 23:54:36

#include<bits/stdc++.h>
using namespace std;
int i,t,a[50],sum=0,n;
int main()
{
	cin>>t;
	for(i=1;i<=t;i++)
	cin>>a[i];
	for(i=1;i<=t;i++)
	{
		cin>>n;
		if(a[i]>0)
		sum+=a[i]+(n-1)*20;
	}
	cout<<sum;
}

Python3 解法, 执行用时: 149ms, 内存消耗: 7032K, 提交时间: 2021-11-07 12:20:30

a=int(input())
list1=input().split()
list2=input().split()
k=0
for i1 in range(a):
    if list1[i1]!='0':
        k+=int(list1[i1])+(int(list2[i1])-1)*20
print(k)

上一题