一样的思路,为什么C++能过,Go不能过

今天在洛谷上做了一道题,想用Go做练练手,但是没过,但是我把第一个没WA的数据下载下来,发现我的输出和例子一样,但就是不给过,于是我用c++写了一遍,思路步骤都一样,结果c++过了,真奇怪

这是c++的AC代码
#include<map>
#include <iostream>
using namespace std;

int main(){
    int n,m;
    int i;
    cin>>n>>m;
    int *p= (int*)malloc(n*4);
    int temp = 0;
    int min =0 ;
    for(i=0;i<n;i++){
        cin>>*(p+i);
        if(i<m){
            temp+=*(p+i);
            min+=*(p+i);
        }
    }
    for(i=m;i<n;i++){
        temp-=*(p+i-m);
        temp+=*(p+i);
        if(temp<min){
            min = temp;
        }
    }
    cout<<min;
}

这是Go语言的代码

package main

import "fmt"

func main(){
	var n, m int
	fmt.Scanf("%d %d",&n,&m)
	nums:=make([]int,n)
	temp:=0
	min:=0
	for i:=0;i<n;i++{
		fmt.Scanf("%d",&nums[i])
		if i<m{
			temp+=nums[i]
		}
	}
	min=temp
	for i:=m;i<n;i++{
		temp-=nums[i-m]
		temp+=nums[i]
		if temp<min{
			min=temp
		}
	}
	fmt.Print(min)
}

其中一个输入是这样的:

输出

还有别的题我用Go语言提交也会出一些问题,真实奇怪
posted @ 2021-10-10 09:31  博客是个啥?  阅读(61)  评论(0编辑  收藏  举报