题目描述
有一条路上有一排的金币,如果把这条路看做一个数轴,那么在1~n的位置上各有一个金币,共n个,每个金币有一个不同的编号1~n(不一定按顺序).在0位置上有一个人,他有很多神奇的小车,他可以在0位置释放神奇的小车,每个小车一旦被释放就会沿着数轴正方向每个单位时间走一个单位距离.如果一个小车所在的位置有金币且这个金币的编号是剩余金币中编号最小的,而且如果收集了这个金币能保证这个小车收集到的金币编号是连续的,那么这个小车就会收集这个金币.神奇小车一旦走到n+1的位置就能把这个车上的金币转化为价值,如果这个车上有x个金币,就能转化出x*x单位的价值.在路上可能同时存在多个小车.</br>如果A小车和B小车都在路上,且A车位置有编号m的金币,B车位置有编号m+1的金币,m是剩余金币中最小的编号,这样A车可以收集m号金币,B车也可以收集m+1号金币.
输入
多个样例,每个样例占两行.第一行一个整数n(1 <= n <= 100000),之后一行n个整数,为1~n的一个排列.
输出
每行输出一个样例的结果,包括两个整数v和t,用空格隔开.
v表示那个人能转化出的最大价值.
t表示转化v价值要花的最少的时间.
样例输入
5
3 4 1 2 5
样例输出
13 9
提示
第一个样例:在0时间释放第一个小车,3时间释放第二个小车,第二个小车在9时间到达6位置结束.第一个小车收集了1,2号金币,转化4个价值,第二个小车转化了9个价值.
java 代码:
import java.util.Scanner;
public class acm1654 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int temp = sc.nextInt();
int[] a = new int[temp];
int[] hsh = new int[100005];
for(int i=0;i<temp;i++){
a[i] = sc.nextInt();
hsh[a[i]] = i + 1;
}
int v = 0;
int t = 0;
for(int s=1;s<temp;s++)
{
int cnt = 1;
while(hsh[s+1]>hsh[s])
{
s++;
cnt++;
}
v+=cnt*cnt;
t+=hsh[s];
// System.out.println(t);
//System.out.println(s);
}
System.out.println(v+" "+t);
}
}
分享到:
相关推荐
ACM:NOI:CSP比赛经验.txt
ACM:NOI:CSP比赛经验分享&代码程序
在IT领域,ACM(Association for Computing Machinery)和NOI(全国青少年信息学奥林匹克竞赛)以及CSP(计算机软件能力认证)是极具影响力的编程竞赛。这些比赛旨在提升参赛者的算法设计、问题解决和编程能力,对于...
ACM,全称为Association for Computing Machinery(美国计算机协会),是全球最大的计算机领域专业性学术组织,成立于1947年。ACM致力于推动信息技术教育、科研和应用的发展,出版权威和前瞻性的文献,包括专业期刊...
ACM,全称为Association for Computing Machinery(美国计算机协会),是全球最大的计算机领域专业性学术组织,成立于1947年。ACM致力于推动信息技术教育、科研和应用的发展,出版权威和前瞻性的文献,包括专业期刊...
ACM,全称为Association for Computing Machinery(美国计算机协会),是全球最大的计算机领域专业性学术组织,成立于1947年。ACM致力于推动信息技术教育、科研和应用的发展,出版权威和前瞻性的文献,包括专业期刊...
ACM,全称为Association for Computing Machinery(美国计算机协会),是全球最大的计算机领域专业性学术组织,成立于1947年。ACM致力于推动信息技术教育、科研和应用的发展,出版权威和前瞻性的文献,包括专业期刊...
ACM入门课件,可以帮助人们初步了解ACM。以及对ACM的学习。
在ACM(Algorithmic Contest Modeling)竞赛中,编程能力是至关重要的。本资源"acm:acm 编码示例"显然与ACM竞赛相关的编程实践有关,特别是使用Java语言进行编码。以下是对这个主题的详细解释和知识点展开。 首先,...
ACM经典试题:最小差值对Minimum Difference Pair+编程知识+技术开发; ACM经典试题:最小差值对Minimum Difference Pair+编程知识+技术开发; ACM经典试题:最小差值对Minimum Difference Pair+编程知识+技术开发;...
ggplot.acm提供了一种为使用FactoMineR包运行的多重对应分析创建ggplot2样式图的简单方法(这很重要,因为其他包/函数可能会生成具有不同内部结构的对象)。 提供了多种选项,这些选项应针对社会科学中最常见的用途...
ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛
UVC+ttyACM的设备描述符, UVC设备支持I420格式,两种设备在Win/Linux下都为免驱设备
ACM国际大学生程序设计竞赛(ACM/ICPC::ACMInternational CollegiateProgrammingContest)是由美国计算机协会(ACM:Assiciation for Computing Machinery)组织的年度性竞赛。竞赛的历史可以上溯到1970年,当时在美国...
在ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest)中,参赛者们需要运用他们的编程技巧,解决一系列复杂的算法问题。这个压缩包“ACM-master”很可能包含了一个项目或者资源集合,...
在IT领域,ACM(Association for Computing Machinery)竞赛是针对计算机科学的学生和专业人士举办的一系列算法竞赛,旨在提升他们的编程技巧、算法设计能力和问题解决能力。在这个“acm: ACM 解决方案”中,我们...
在ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest)中,参赛者们需要运用他们的编程技巧解决一系列算法问题。本压缩包“acm:acm入门竞赛里的一些实例题和习题答案”显然是为那些希望...
标题 "ACM:ACM在线评委的困惑" 暗示了这个压缩包可能包含与ACM(国际大学生程序设计竞赛)相关的资源,特别是关于在线评委系统中的问题和挑战。这些在线评委系统是用于测试和验证参赛者提交的程序是否能正确解决...
标题 "ACM:刷过的ACM译文" 暗示了这是一份与ACM(国际大学生程序设计竞赛)相关的资源,其中包含了对某些问题的解决方案或解析,可能包括了算法、数据结构和编程技巧的讲解。描述中的内容简单明了,同样强调了这是...
ACM(Association for Computing Machinery)是一家非营利性组织,旨在促进计算机科学和技术的发展和应用。ACM提供了大量的资源,包括期刊、会议、培训、标准、认证等。以下是一些ACM资源: 期刊 Communications ...