​EOJ2610. 工程

文章提供了一个编程问题的背景,描述了Castor在工厂加工零件的情景。给定零件总数(M),需要加工的零件数(K),以及每个零件的加工时间,任务是计算出Castor还需要工作的总时间。程序通过读取输入数据,累加K个零件的加工时间并输出结果。示例代码使用C++编写,通过循环处理多组测试数据。
摘要由CSDN通过智能技术生成

单点时限: 2.0 sec

内存限制: 256 MB

Castor 在 ECNU 工厂工作。总厂有一条生产线,现在生产流水线上排队的零件总数为 M。当前 Castor 开始加工第一个零件。

流水线上的零件总是按顺序加工的。例如零件 i 必须是在零件 i+1 之前加工 .

现在 Castor 只需要再加工 K(K⩽M) 个零件就能休息了,Castor 想知道他还要工作多长时间才能休息 .

输入格式

第一行为一个整数 T, 表示测数数据的组数 .

对每组测试数据

第一行有两个整数 M,K(1⩽K⩽M⩽1000)

然后一行有 M 个数字 第 i 个数字表示零件队列的第 i 个零件需要加工的时间为 ti(1⩽ti⩽10000)

输出格式

每组数据输出一行, 每行只有一个整数表示 Castor 还需要工作多长时间

样例

input

2
3 2
5 2 3
3 1
1 2 3

output

7
1

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main() {
	int tempK, tempM, temp;
	int groups;
	vector<int> inputs[100];

	// 一组数据占据一个vector,其中每个vector分别放 [M][K][零件队列]
	cin >> groups;
	for (int g = 0; g < groups; g++) {
		scanf("%d%d", &tempM, &tempK);
		inputs[g].insert(inputs[g].end(), tempM);
		inputs[g].insert(inputs[g].end(), tempK);

		for (int i = 0; i < tempM; i++) {
			scanf("%d", &temp);
			inputs[g].insert(inputs[g].end(), temp);
		}
	}
	// 依次计算加和,然后输出并将sum置0
	int sum = 0;
	for (int g = 0; g < groups; g++) {
		for (int j = 0; j < inputs[g][1]; j++) {	//循环加tempK个
			sum += inputs[g][j + 2];
		}
		cout << sum << endl;
		sum = 0;
	}
}

ps:似乎是可以更简洁一些。笔者比较菜,只提供了比较直线条的解决办法,如果有更好的方法欢迎宝子们分享哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值