| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1333975 | KhoaDuy | Tricks of the Trade (CEOI23_trade) | C++20 | 8085 ms | 2708 KiB |
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define ll long long
signed main(){
if(fopen("input.txt","r")){
freopen("input.txt","r",stdin);
}
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n,k;
cin >> n >> k;
int c[n+1],s[n+1];
for(int i=1;i<=n;i++){
cin >> c[i];
}
ll ans=-1e18;
for(int i=1;i<=n;i++){
cin >> s[i];
}
for(int l=1;l<=n;l++){
vector<int> v;
ll sum=0;
for(int r=l;r<=n;r++){
sum+=c[r];
v.push_back(s[r]);
sort(v.begin(),v.end());
if(r-l+1>=k){
ll cost=-sum;
for(int i=(int)v.size()-1;i>=(int)v.size()-k;i--){
cost+=v[i];
}
ans=max(ans,cost);
}
}
}
bool trace[n+1]={false};
for(int l=1;l<=n;l++){
vector<int> v;
ll sum=0;
for(int r=l;r<=n;r++){
sum+=c[r];
v.push_back(s[r]);
sort(v.begin(),v.end());
if(r-l+1>=k){
ll cost=-sum;
for(int i=(int)v.size()-1;i>=(int)v.size()-k;i--){
cost+=v[i];
}
if(ans==cost){
for(int i=l;i<=r;i++){
if(s[i]>=v[v.size()-k]){
trace[i]=true;
}
}
}
}
}
}
cout << ans << endl;
for(int i=1;i<=n;i++){
if(trace[i]){
cout << '1';
}
else{
cout << '0';
}
}
}컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
