ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

1555C - Coin Rows

2021-08-01 22:01:36  阅读:239  来源: 互联网

标签:Rows 1555C 硬币 int ans1 ans2 include ans Coin


题解:https://codeforces.ticom/problemset/problem/1555/C

题意:给你一个2*m的地图,只能向右或者下走,由a开始先走并且拿走经过的路途中的全部硬币,然后由b开始走,b那的硬币代表分数,a想分数少,b想分数多,求最少的分数。

题解:

因为只有两行,所以只需要找到a向下的节点,每一次对第一行右边和第二行左边的硬币进行比较取最大的,因为遍历会超时,所以用ans1先对第一行的所有硬币记录,而后i每加1,都要减去a[i];ans2都加a[i-1];

//#include <bits/stdc++.h>
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
typedef long long int ll;

int a[2][100005];
int main()
{
	int t;
	cin >> t;
	while (t--)
	{
		int m;
		cin >> m;
		int ans1 = 0, ans2 = 0, ans;
		for (int i = 0; i < 2; i++)
		{
			for (int j = 0; j < m; j++)
			{
				cin >> a[i][j];
				if (i == 0)
				{
					ans1 += a[i][j];
				}
			}
		}

		int minans = 1e9;
		for (int i = 0; i < m; i++)
		{
			//	cout << i << " ";
			ans1 -= a[0][i];
			if (i > 0)
				ans2 += a[1][i - 1];
			ans = max(ans1, ans2);
			if (ans < minans)
			{
				minans = ans;
			}
		}
		cout << minans << endl;
	}

}

标签:Rows,1555C,硬币,int,ans1,ans2,include,ans,Coin
来源: https://blog.csdn.net/Wzwan_huai/article/details/119304347

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有