列表

详情


NC206546. 分发奖金

描述

网宿杯结束了,又到了大家喜闻乐见的分发奖金环节,当然在比赛过程中作弊的玩家也会受到罚款。现有 位玩家共个奖惩回合,每个环节有三个整数 表示从第 位玩家到第 位玩家获得 元奖金( ),或处罚w元( )。请输出最后所有玩家的奖惩情况。

输入描述

第一行 个整数 ,表示有 位玩家, 个回合。(
接下来行每行有 个整数 如上述题意。(

输出描述

 个整数,相邻的整数用空格隔开,表示每位玩家最后得到的奖惩情况。

示例1

输入:

5 3
1 2 1
3 5 -10
2 5 6

输出:

1 7 -4 -4 -4

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Java(javac 1.8) 解法, 执行用时: 1085ms, 内存消耗: 87664K, 提交时间: 2020-05-24 17:37:25

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = 0, m = 0;
        long[] res = new long[100001];
        while (in.hasNext()) {
            n = in.nextInt();
            m = in.nextInt();
            // res = new long[n];
            for (int i = 0; i < n; i++) {
                res[i] = 0;
            }
            for (int i = 0; i < m; i++) {
                int l = in.nextInt();
                int r = in.nextInt();
                long w = in.nextLong();
                for (int j = l; j <= r; j++) {
                    res[j-1] += w;
                }
            }
            for (int i = 0; i < n - 1; i++) {
                System.out.print(res[i] + " ");
            }
            System.out.println(res[n - 1]);
        }
    }
}

C++14(g++5.4) 解法, 执行用时: 231ms, 内存消耗: 1640K, 提交时间: 2020-05-24 13:19:12

#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cstdlib>
using namespace std;

long long  n,m,l,r,w;
long long a[100010];

int main()
{
	cin>>n>>m;
	memset(a,0,sizeof(a));
	for(int i=1;i<=m;i++)
	{
		cin>>l>>r>>w;
		for(int j=l;j<=r;j++)
			a[j]+=w;
	}
	for(int i=1;i<=n;i++)
		cout<<a[i]<<" ";
	return 0;
} 

C++11(clang++ 3.9) 解法, 执行用时: 123ms, 内存消耗: 1124K, 提交时间: 2020-05-24 13:18:42

#include<stdio.h>
int main (){
	long long a[100001]; 
	int n,m,r,l,w,i,j;
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;i++)
	{
		a[i]=0;
	}
	for(i=0;i<m;i++)
	{
		scanf("%d%d%d",&l,&r,&w);
		for(j=l;j<=r;j++)
		{
			a[j]+=w;
		}
	}
	for(i=1;i<=n;i++)
	{
		printf("%lld ",a[i]);
	}
	return 0;
} 

上一题