当前位置:网站首页>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
边栏推荐
- Implementation of queue
- Jerry's setting currently uses the dial. Switch the dial through this function [chapter]
- ADB common commands
- F200 - UAV equipped with domestic open source flight control system based on Model Design
- C语言自动预订飞机票问题
- 解读云原生技术
- std::true_ Type and std:: false_ type
- Jerry's watch deletes the existing dial file [chapter]
- 首先看K一个难看的数字
- Five data structures of redis
猜你喜欢

win10系统下插入U盘有声音提示却不显示盘符

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

Interesting - questions about undefined

Splay

Numerical analysis: least squares and ridge regression (pytoch Implementation)

std::true_ Type and std:: false_ type

递归的方式

CSRF vulnerability analysis

從交互模型中蒸餾知識!中科大&美團提出VIRT,兼具雙塔模型的效率和交互模型的性能,在文本匹配上實現性能和效率的平衡!...

Rb157-asemi rectifier bridge RB157
随机推荐
面向程序员的精品开源字体
Interesting - questions about undefined
287. Find duplicates
Jielizhi obtains the customized background information corresponding to the specified dial [chapter]
Maixll dock camera usage
最新财报发布+天猫618双榜第一,耐克蓄力领跑下个50年
Excellent open source fonts for programmers
【LeetCode第 300 场周赛】
阿里云国际版ECS云服务器无法登录宝塔面板控制台
使用block实现两个页面之间的传统价值观
用友OA漏洞学习——NCFindWeb 目录遍历漏洞
具体说明 Flume介绍、安装和配置
std::true_type和std::false_type
STM32按键状态机2——状态简化与增加长按功能
TOP命令详解
CRMEB 商城系统如何助力营销?
Introduction to the usage of model view delegate principal-agent mechanism in QT
High precision operation
Jerry's watch deletes the existing dial file [chapter]
Grafana 9.0 is officially released! It's the strongest!