NC248201. 奇奇怪怪的操作
描述
输入描述
输入共两行。第一行三个数 ,第二行 个数表示 。
输出描述
一行一个数表示答案。
示例1
输入:
4 2 2 7 1 9 5
输出:
875
C++(clang++ 11.0.1) 解法, 执行用时: 507ms, 内存消耗: 14628K, 提交时间: 2023-03-03 22:00:48
#include<bits/stdc++.h> using namespace std; typedef long long ll; multiset<ll> st; const int mod=1e9+7; int main() { ll n,m,k,res = 1;cin>>n>>m>>k; for(int i=0;i<n;i++){ int x; cin>>x; st.insert(x); } while(k--){ auto l=*st.begin(),r=*st.rbegin(); if(r-l>m){ st.erase(st.begin()); st.erase(st.lower_bound(r)); st.insert(l+m); st.insert(r-m); } } for(auto it:st)res=res*it%mod;cout<<res<<"\n"; return 0; }