有三个超时有没有大佬看一眼是不是使用malloc的缘故
查看原帖
有三个超时有没有大佬看一眼是不是使用malloc的缘故
552368
supersun0331楼主2021/8/9 15:19
#include<stdio.h>
#include<stdlib.h>

void add(int *number,int n);
void print(int *number,int n);

int main(){
    int n;
    int m;
    scanf("%d %d",&n,&m);
    int *number=(int *)malloc(sizeof(int )*n);
    for(int i=0;i<n;i++){
        scanf("%d",&number[i]);
    }
    for(int i=0;i<m;i++){
        int single;
        scanf("%d",&single);
        if(single==1) add(number,n);
        if(single==2) print(number,n);

    }
    free(number);
    return 0;
}

void add(int *number,int n)
{
    int min,max;
    int cont;
    scanf("%d %d",&min,&max);
    scanf("%d",&cont);
    for(int i=min-1;i<max;i++){
        number[i]+=cont;
    }

}
void print(int *number,int n){
    int i;
    scanf("%d",&i);
    printf("%d\n",number[i-1]);
}
2021/8/9 15:19
加载中...