제출 #580116

#제출 시각아이디문제언어결과실행 시간메모리
580116MrM7mdKarte (COCI18_karte)C++17
12 / 120
124 ms11176 KiB
#include <bits/stdc++.h>

using namespace std;
#define int long long
#define endl "\n"

const int MOD = 1e9 + 7;

int frq[1000050];
signed main(){
   ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
   int n,k;
   cin >> n >> k;
   pair<int,char> a[n];
   for(int i=0;i<n;i++)cin>>a[i].first;
   sort(a,a+n);
   int f=0;
   for(int i=0;i<n;i++){
      if(f<a[i].first){
         f++;
         a[i].second='f';
      }
      else{
         a[i].second='t';
      }
   }
   if(f==k){
      for(int i=0;i<n;i++){
         cout<<a[i].first<<' ';
      }
   }
   else if(f<k){
      cout<<-1;
   }
   else{
      for(int i=0,j=n-1;i<n,j>=0;){
         if(a[i].second=='t'){
            i++;
         }
         if(a[j].second=='t'){
            j--;
         }
         if(a[i].second=='f'&&a[j].second=='f'){
            swap(a[i].first,a[j].first);
            f--;

         }
         if(f==k){
            break;
         }
      }
      for(int i=0;i<n;i++){
         cout<<a[i].first<<' ';
      }
   }

}

컴파일 시 표준 에러 (stderr) 메시지

karte.cpp: In function 'int main()':
karte.cpp:36:26: warning: left operand of comma operator has no effect [-Wunused-value]
   36 |       for(int i=0,j=n-1;i<n,j>=0;){
      |                         ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...