当前位置:网站首页>Atcoder a mountaineer
Atcoder a mountaineer
2022-07-06 18:26:00 【Full stack programmer webmaster】
Hello everyone , I meet you again , I'm the king of the whole stack .
Time limit : 2sec / Stack limit : 256MB / Memory limit : 256MB
Problem
Dave is a mountaineer. He is now climbing a range of mountains.
On this mountains, there are N huts located on a straight lining from east to west..
The huts are numbered sequentially from 1 to N. The west most hut is 1, the east most hut is N. The i-th hut is located at an elevation of hi meters.
Dave wants to know how many huts he can look down and see from each hut.
He can see the j-th hut from the i-th hut if all huts between the i-th hut and the j-th hut including the j-th one are located at equal or lower elevation than hi.
Note that the i-th hut itself is not included in the hut he can see from the i-th hut.
Input
The input will be given in the following format from the Standard Input.
N
h1
h2
:
hN
- On the first line, you will be given N(1≦N≦105), the number of huts.
- Then N lines follow, each of which contains hi(1≦hi≦105) the elevation of the i-th hut.
Achievements and Points
Your answer will be checked for two levels.
- When you pass every test case which satisfies 1≦N≦3,000, you will be awarded 30 points.
- In addition, if you pass all the rest test cases which satisfy 1≦N≦105, you will be awarded 70 more points, summed up to 100points.
Output
On the i-th line, output the number of huts Dave can see from the i-th hut. Make sure to insert a line break at the end of the output.
Input Example 1
3
1
2
3
Output Example 1
0
1
2
From each hut he can see every huts on the west.
Input Example 2
5
1
2
3
2
1
Output Example 2
0
1
4
1
0
From the 1st and 5th hut he can’t see any other huts.
From the 2nd hut he can only see the 1st hut.
From the 4th hut he can only see the 5th hut.
From the 3rd hut he can see every other huts.
Input Example 3
5
3
2
1
2
3
Output Example 3
4
2
0
2
4
Note that he can see the huts on the equal elevation.
Input Example 4
8
4
3
2
3
4
3
2
1
Output Example 4
7
2
0
2
7
2
1
0
Ideas : This is a simple question , But I have been facing big data TLE. Go straight up TLE Source code
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int count = sc.nextInt();
int num[] = new int[count];
int flag[] = new int[count];
for (int i = 0; i < count; i++) {
num[i] = sc.nextInt();
}
for (int i = 0; i < count; i++) {
for (int j = i - 1; j >= 0 && num[i] >= num[j]; j--,flag[i]++);
for (int j = i + 1; j < count && num[i] >= num[j]; j++,flag[i]++);
System.out.println(flag[i]);
}
}
}
Here are AC Source code . According to the above source code, it has been optimized to a certain extent . In a way , Changed some ideas , and https://oj.leetcode.com/problems/candy/ It's kind of like .
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int count = sc.nextInt(); int num[] = new int[count]; int[] back = new int[count]; int[] forward = new int[count]; for (int i = 0; i < count; i++) { num[i] = sc.nextInt(); } for (int i = 0; i < count; i++) { for (int j = i - 1; j >= 0 && num[i] >= num[j]; back[i] = back[i]+ back[j] + 1, j = j - back[j] - 1); } for (int i = count - 1; i >= 0; i--) { for (int j = i + 1; j < count && num[i] >= num[j]; forward[i] = forward[i]+ forward[j] + 1, j = j + forward[j] + 1); } for (int i = 0; i < count; i++) { System.out.println(back[i] + forward[i]); } }}
Copyright notice : This article is an original blog article . Blog , Without consent , Shall not be reproduced .
Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/117392.html Link to the original text :https://javaforall.cn
边栏推荐
- DNS hijacking
- 小程序在产业互联网中的作用
- 2022 Summer Project Training (I)
- Take you through ancient Rome, the meta universe bus is coming # Invisible Cities
- bonecp使用数据源
- 30 minutes to understand PCA principal component analysis
- Recommend easy-to-use backstage management scaffolding, everyone open source
- STM32 key state machine 2 - state simplification and long press function addition
- Maixll-Dock 摄像头使用
- celery最佳实践
猜你喜欢
Maixll-Dock 摄像头使用
【Swoole系列2.1】先把Swoole跑起来
使用cpolar建立一个商业网站(1)
图之广度优先遍历
UDP协议:因性善而简单,难免碰到“城会玩”
Distiller les connaissances du modèle interactif! L'Université de technologie de Chine & meituan propose Virt, qui a à la fois l'efficacité du modèle à deux tours et la performance du modèle interacti
Excellent open source fonts for programmers
Blue Bridge Cup real question: one question with clear code, master three codes
C language exchanges two numbers through pointers
Jerry's updated equipment resource document [chapter]
随机推荐
STM32 key state machine 2 - state simplification and long press function addition
Kill -9 system call used by PID to kill process
Common - magic number 7
Jerry is the custom background specified by the currently used dial enable [chapter]
The latest financial report release + tmall 618 double top, Nike energy leads the next 50 years
Grafana 9.0 正式发布!堪称最强!
[the 300th weekly match of leetcode]
Shangsilicon Valley JUC high concurrency programming learning notes (3) multi thread lock
简单易用的PDF转SVG程序
【Swoole系列2.1】先把Swoole跑起来
d绑定函数
C language college laboratory reservation registration system
Redis的五种数据结构
Excel usage record
Declval (example of return value of guidance function)
[sword finger offer] 60 Points of N dice
【.NET CORE】 请求长度过长报错解决方案
[Android] kotlin code writing standardization document
Prophet模型的简介以及案例分析
2019 Alibaba cluster dataset Usage Summary