1 条题解

  • 0
    @ 2024-12-26 17:11:44

    C :

    #include<stdio.h>
    #include<math.h>
    int main()
    {
    	int n,a[99999],b[99999];
    	int x=1000,m=1000,c;
    	int i,j=0;
    	scanf("%d",&n);
    	for(i=0;i<n;i++)
    	scanf("%d",&a[i]);
    	for(i=0;i<n;i++)
    	{
    		if(x>a[i])
    			x=a[i];
    	}
    	for(i=0;i<n;i++)
    	{
    		if(x==a[i])
    		{
    			b[j]=i+1;
    			j++;
    		}
    	}
    	for(i=1;i<n;i++)
    	{
    		if(b[i]!=0)
    		{
    			c=b[i]-b[i-1];
    			if(m>fabs(c))
    			{
    				m=fabs(c);
    			}
    		}
    	}
    		printf("%d ",m);
    	return 0;
    }
    

    C++ :

    #include <bits/stdc++.h>
    #define int long long
    using namespace std;
    const int N=1e5+10;
    typedef pair<int,int> PII;
    typedef priority_queue<int , vector<int>, greater<int>> minqueue;
    typedef priority_queue<int, vector<int>, less<int>> maxqueue;
    
    int gcd(int a, int b){
        return b ? gcd(b, a % b) : a;
    }
    
    int lcm(int a, int b){
        return a * b / __gcd(a, b);
    }
    
    int qmi(int base, int power, int p)
    {
    	int result = 1;   
    	while (power > 0)           
    	{
    		if (power & 1)         							
    			result = result * base % p;   
    		base = base * base % p ;       						
    		power >>= 1;         						
    	}
    	return result % p;
    }
    int a[N];
    int b[N];
    void solve()
    {
    	int n;
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i];
    	}
    	int w = 1;
    	int minn = 1e9 + 10;
    	for(int i=1;i<=n;i++)
    	{
    		if(a[i] < minn)
    		{
    			minn = a[i];
    			w = 1;
    			b[w] = i;
    			w++;
    		}
    		else if(a[i] == minn)
    		{
    			b[w] = i;
    			w++;
    		}
    	}
    	int minx = 1e5 + 10;
    	for(int i=2;i<w;i++)
    	{
    		minx = min(b[i]-b[i-1],minx);
    		if(minx == 1)
    		{
    			cout<<1;
    			return ;
    		}
    	}
    	cout<<minx;
    }
    signed main()
    {
    	ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    	int t;
    	t=1;
    	//cin>>t;
    	while(t--)     
    	{
    		solve();
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    737
    时间
    1000ms
    内存
    128MiB
    难度
    8
    标签
    提交数
    29
    已通过
    5
    上传者