大佬 大佬 求你们了 老师要查作业的 为什么不对啊

P1440 求m区间内的最小值

小哥不小心MXH @ 2017-10-13 19:04:01

本地运行 发现t的值不会改变 而且外面的for是死循环

#include<cstdio>
#include<iostream>
using namespace std;
int a[2000003]={0};
int main()
{
    int n,m,min,t=2000000;
    cin>>n>>m;
    for(int i=0;i<n;i++)
    cin>>a[i];
    for(int i=0;i<n;i++)
    {
        if(i=0)
        cout<<0<<endl;
        else
        {
            if(i-m>=0)
            {
                for(int j=i-m;j<i;j++)
                {
                    if(a[j]<t)
                    {t=a[j];}
                }
            }
            else
                for(int j=0;j<i;j++)
                {
                    if(a[j]<t)
                    {t=a[j];}
                }
        }
        cout<<t<<endl;
    } 
}

by Ash1mar @ 2017-10-13 19:08:13

if(i=0)

    cout<<0<<endl;

我第一看见的是这个。。。


by 1124828077ccj @ 2017-10-13 19:17:36

@小哥不小心MXH 是i==0不是i=0。。。


by 小哥不小心MXH @ 2017-10-13 19:18:01

@Ash1mar

可是他不停地输出2000000啊....


by 小哥不小心MXH @ 2017-10-13 19:22:09

@2016陈常杰 = = 改了 然后 一开始会输出一个2000000 后面也有错= =

可是我把i一次一次循环过走一遍觉得没错啊= =


|