Решение задачи Ближайшие минимумы с Codeforces

Без пояснения   Просмотров: 31


Задана последовательность (массив) целых чисел длины n своими элементами a 0, a 1, ..., a n - 1. Требуется найти расстояние между парой ближайших минимумов в массиве. Гарантируется, что в массиве минимальное значение (минимум) встречается хотя бы два раза.

Код

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define pb push_back
int a[200005];
int main(){
	int n; 
	cin>>n; 
	int mn = 1e9+1123;
	for (int i = 0; i < n; i++)
	{
		cin>>a[i];
		mn = min(mn,a[i]);
	}
	int lst = -1e6;
	int ans = 1e9;
	for (int i = 0; i < n; i++)
	{
		if(mn==a[i]){
			
			ans = min(i-lst,ans);
			lst = i;
		}
	}
	cout<<ans<<endl;
	
	return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться