蒟蒻打AtCorder BC 194记

本文分享了两段AC代码,分别对应不同的问题解决策略。第一段代码用于判断牛奶固形物和脂肪含量的类型,第二段代码涉及任务分配的最短时间计算。同时,对比了错误代码和国内大佬的AC代码,探讨了算法效率和优化的重要性。
摘要由CSDN通过智能技术生成

AC代码贴板

A. I Scream

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<set>
#include<fstream>
#include<stack>//别问我为啥不用万能库,问就是用的MSVC,4996也是这个
typedef long long LL;
typedef unsigned long long uLL;
#pragma warning (disable:4996)
using namespace std;
uLL Judge(uLL a, uLL b)
{
	if (a >= 15 && b >= 8)
	{
		return 1;
	}//type1
	if (a >= 10 && b >= 3)
	{
		return 2;
	}//type2
	if (a >= 3)
	{
		return 3;
	}//type3
	return 4;
}
int main()
{
	uLL milkSoildsNotFat, milkFat;
	uLL type = 0;
	cin >> milkSoildsNotFat >> milkFat;
	uLL milkSoild = milkSoildsNotFat + milkFat;
	type = Judge(milkSoild, milkFat);
	cout << type;
	return 0;
}
//不会吧,不会真的有人看不懂驼峰法吧,不会吧不会吧(

B.Job Assignment

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<set>
#include<fstream>
#include<stack>
typedef long long LL;
typedef unsigned long long uLL;
#pragma warning (disable:4996)
using namespace std;

int main()
{
	int workers;
	cin >> workers;
	int timeOfQuestionA[1100] = {};
	int timeOfQuestionB[1100] = {};
	int timeOfSolution1[1100] = {};
	int timeOfSolution2 = 99999999;
	for (int i = 0; i < workers; i++)
	{
		cin >> timeOfQuestionA[i] >> timeOfQuestionB[i];
		timeOfSolution1[i] = timeOfQuestionA[i] + timeOfQuestionB[i];
	}

	sort(timeOfSolution1, timeOfSolution1 + workers);
	for (int i = 0; i < workers; i++)
	{
		for (int j = 0; j < workers; j++)
		{
			if (i == j)
			{
				continue;
			}
			else
			{
				int cache = max(timeOfQuestionA[i], timeOfQuestionB[j]);
				if (cache < timeOfSolution2)
				{
					timeOfSolution2 = cache;
				}
			}
		}
	}
	int minNum = 0;
	if (timeOfSolution1[0] < timeOfSolution2)
	{
		minNum = timeOfSolution1[0];
	}
	else
	{
		minNum = timeSolution2;
	}
	cout << minNum;
	return 0;
}

一些别的

关于C题

之前的代码(RE的!)

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<set>
#include<fstream>
#include<stack>
typedef long long LL;
typedef unsigned long long uLL;
using namespace std;
int main()
{
	int n;
	cin >> n;
	int out = 0;
	static int nums[100100] = {};
	for (int i = 0; i < n; i++)
	{
		cin >> nums[i];
	}
	for (int i = 1; i < n; i++)
	{
		for (int j = 0; j < i; j++)
		{
			out += (nums[i] - nums[j]) * (nums[i] - nums[j]);
		}
	}
	cout << out;
	return 0;
}

也不知道为啥错了

某国内大佬的AC代码

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
int n,a[1000005];
ll ans;
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]);
	int sum=0;
	for(int i=1;i<=n;i++)
	{
		ans+=1ll*(n)*a[i]*a[i];
		sum+=a[i];
	}
	ans-=1ll*sum*sum;
	printf("%lld\n",ans);
	return 0;
}

看不懂欸,是我见的少了(

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值