当前位置:网站首页>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
3Output Example 1
0
1
2From each hut he can see every huts on the west.
Input Example 2
5
1
2
3
2
1Output Example 2
0
1
4
1
0From 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
3Output Example 3
4
2
0
2
4Note that he can see the huts on the equal elevation.
Input Example 4
8
4
3
2
3
4
3
2
1Output Example 4
7
2
0
2
7
2
1
0Ideas : 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
边栏推荐
- STM32按键状态机2——状态简化与增加长按功能
- Take you through ancient Rome, the meta universe bus is coming # Invisible Cities
- 2022 Summer Project Training (I)
- Jerry's watch deletes the existing dial file [chapter]
- Virtual machine VirtualBox and vagrant installation
- celery最佳实践
- Penetration test information collection - CDN bypass
- Insert dial file of Jerry's watch [chapter]
- Release of the sample chapter of "uncover the secrets of asp.net core 6 framework" [200 pages /5 chapters]
- C language college laboratory reservation registration system
猜你喜欢

使用cpolar建立一个商业网站(1)

287. Find duplicates

F200 - UAV equipped with domestic open source flight control system based on Model Design

Comparative examples of C language pointers *p++, * (p++), * ++p, * (++p), (*p) + +, +(*p)

Docker安装Redis
![[swoole series 2.1] run the swoole first](/img/cd/88abf7e83e9d9d416051b33263690b.png)
[swoole series 2.1] run the swoole first

I want to say more about this communication failure

徐翔妻子应莹回应“股评”:自己写的!

阿里云国际版ECS云服务器无法登录宝塔面板控制台

Penetration test information collection - CDN bypass
随机推荐
Introduction to the usage of model view delegate principal-agent mechanism in QT
面向程序员的精品开源字体
Comparative examples of C language pointers *p++, * (p++), * ++p, * (++p), (*p) + +, +(*p)
从交互模型中蒸馏知识!中科大&美团提出VIRT,兼具双塔模型的效率和交互模型的性能,在文本匹配上实现性能和效率的平衡!...
Jerry's setting currently uses the dial. Switch the dial through this function [chapter]
Declval of template in generic programming
A method of sequentially loading Unity Resources
High precision operation
Reprint: defect detection technology of industrial components based on deep learning
Grafana 9.0 is officially released! It's the strongest!
SQL优化问题的简述
Principle and usage of extern
Echart simple component packaging
Jielizhi obtains the currently used dial information [chapter]
關於這次通信故障,我想多說幾句…
Cocos2d Lua 越来越小样本 内存游戏
简单易用的PDF转SVG程序
Redis的五种数据结构
Unity资源顺序加载的一个方法
Codeforces Round #803 (Div. 2)