CF 2021-11-26
2021/11/27 6:12:36
本文主要是介绍CF 2021-11-26,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { int t, n, l, r, k,a; vector<int>v; cin >> t; while (t--) { cin >> n>>l>>r>>k; for (int i = 0; i < n; ++i) { cin >> a; if (a <= r && a >= l) { v.push_back(a); } } vector<int>::iterator it = v.begin(); sort(v.begin(), v.end()); int i = 0; while (i<v.size()&&k >= 0) { k -= v[i]; ++i; } if (k < 0) cout << i - 1 << endl; else cout << i << endl; v.clear(); } }
#include<iostream> #include<vector> #include<algorithm> using namespace std; struct node { int num; long long val; }a; bool cmp(node& a, node& b) { return a.val > b.val; } int main() { int t,n; vector<node>v; cin >> t; while (t--) { cin >> n; for (int i = 0; i < n; ++i) { cin >> a.val; a.num = i; v.push_back(a); } sort(v.begin(), v.end(), cmp); int* s = new int[n]; int j = 1, k = -1; long long sum = 0, z = 0; for (int i = 0; i < n; ++i) { if (i % 2 == 0) s[v[i].num] = j, j += 1,z++; else s[v[i].num] = k, k -= 1; //这里!原本sum是longlong,v[i].val , z都是int,会造成算术溢出,结果错误! sum =sum+ v[i].val * z; } cout << sum*2 << endl; cout << 0 << " "; for (int i = 0; i < n; ++i) cout << s[i] << " "; cout << endl; v.clear(); } }
赛后一定补题,下周若没补题每人发个红包(逃
这篇关于CF 2021-11-26的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26终极指南:Scrum中如何设置需求优先级
- 2024-06-26AI大模型企业应用实战(25)-为Langchain Agent添加记忆功能
- 2024-06-26小白家庭 nas 搭建方案-icode9专业技术文章分享
- 2024-06-23AI大模型企业应用实战(14)-langchain的Embedding
- 2024-06-23AI大模型企业应用实战(15)-langchain核心组件
- 2024-06-23AI大模型企业应用实战(16)-langchain核心组件
- 2024-06-23AI 大模型企业应用实战(06)-初识LangChain
- 2024-06-19EntBot.ai: AI Website Chatbot for Product Guides and Development Doc
- 2024-06-17zero-shot-learning-definition-examples-comparison
- 2024-06-06Package Easy(基于 NSIS 的打包exe安装包工具)使用方法-icode9专业技术文章分享