제출 #143186

#제출 시각아이디문제언어결과실행 시간메모리
143186ShelbyKarte (COCI18_karte)C++11
60 / 120
33 ms2284 KiB
#include <bits/stdc++.h>
#define MAXN 100000
using namespace std;

int a[MAXN],ans[MAXN];
vector<int> sol;
vector<int> v;


int main()
{ int n,i,k,cnt,dif;
scanf("%d%d",&n,&k);
for(i=0;i<n;i++) scanf("%d",&a[i]);

sort(a,a+n);

cnt=0;

for(i=0;i<n;i++)
{
    if(a[i]>cnt)
    {
        cnt++;

        sol.push_back(a[i]);
    }
    else v.push_back(a[i]);
}

//reverse(sol.begin(),sol.end());

//for(i=0;i<sol.size();i++) printf("%d ",sol[i]);

cnt--;

if(k<=sol.size())
{
    int l=0,r=sol.size()-1;

    dif=sol.size()-k;

    while(l<r && dif!=0)
    {
        if(sol[l]<=cnt)
        {
            swap(sol[l],sol[r]);

            cnt--;

            dif--;
        }

        l++; r--;

        if(dif==0) break;
    }

    //cout << dif;

    if(dif!=0) printf("-1\n");
    else
    {
        for(i=0;i<v.size();i++) printf("%d ",v[i]);

        reverse(sol.begin(),sol.end());

        for(i=0;i<sol.size();i++) printf("%d ",sol[i]);
    }
}
else printf("-1\n");
    return 0;
}

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

karte.cpp: In function 'int main()':
karte.cpp:36:5: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 if(k<=sol.size())
    ~^~~~~~~~~~~~
karte.cpp:63:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(i=0;i<v.size();i++) printf("%d ",v[i]);
                 ~^~~~~~~~~
karte.cpp:67:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(i=0;i<sol.size();i++) printf("%d ",sol[i]);
                 ~^~~~~~~~~~~
karte.cpp:12:6: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 scanf("%d%d",&n,&k);
 ~~~~~^~~~~~~~~~~~~~
karte.cpp:13:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 for(i=0;i<n;i++) scanf("%d",&a[i]);
                  ~~~~~^~~~~~~~~~~~
#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...