4.12个人赛解题报告
[A - Balloons]
判断一下,只需要将最小那袋气球给一个人,剩下的全部给另一个人就ok了,但是注意特殊情况
代码:
#include<cstdio> #include<iostream> #include<algorithm> #include<string> #include<cstring> using namespace std; int a[2000]; int main(){ int n; cin >> n; int minn = 1000000000; int flag; int sum = 0; for(int i = 0;i < n;i++){ cin >> a[i]; sum = sum + a[i]; if(minn > a[i]){ minn = a[i]; flag = i+1; } } if(n == 1){ cout << -1 << endl; }else{ if(minn == (sum - minn)){ cout << -1 << endl; }else{ cout << 1 << endl << flag << endl; } } }
[D - Sonya and Hotels]
emmm不是很会讲基本上就是暴力判断每个点之间的距离吧……
代码:
#include<cstdio> #include<iostream> #include<algorithm> #include<string> #include<cstring> using namespace std; int a[2000]; int main(){ int n,d; cin >> n >> d; for(int i = 0;i < n;i++){ cin >> a[i]; } int num = 2; for(int i = 1;i < n;i++){ if(a[i] - a[i-1] == 2 * d){ num++; }else if(a[i] - a[i-1] >= 2 * d + 1){ num+=2; } } cout << num <<endl; }

浙公网安备 33010602011771号