제출 #153607

#제출 시각아이디문제언어결과실행 시간메모리
153607DanerZeinArranging Shoes (IOI19_shoes)C++14
0 / 100
2 ms376 KiB
#include "shoes.h" #include <bits/stdc++.h> using namespace std; int t,c=0; vector<int> mergesort(vector<int>s){ if(s.size()==1) return s; if(s.size()==2){ if(abs(s[0])>abs(s[1])){ swap(s[0],s[1]); c++; } return s; } vector<int>a,b; int mi=s.size()/2; for(int i=0;i<mi;i++){ a.push_back(s[i]); } for(int i=mi;i<s.size();i++){ b.push_back(s[i]); } a=mergesort(a); b=mergesort(b); vector<int>n; int i=0,j=0; /* for(int i=0;i<a.size();i++){ cout<<a[i]<<" "; } cout<<endl; for(int i=0;i<b.size();i++){ cout<<b[i]<<" "; } cout<<endl<<endl;*/ i=j=0; if(t==s.size()){ int cc=a.size()-1; for(int i=0;i<a.size();i++){ if(a[i]<0) c+=cc; if(a[i]>0) c=c+cc+1; cc--; } return a; } while(true){ if(i==a.size() and j==b.size()) break; if(i==a.size() and j<b.size()){ n.push_back(b[j]);j++; continue; } if(j==b.size() and i<a.size()){ n.push_back(a[i]); i++; continue; } if(abs(a[i])<abs(b[j])){ n.push_back(a[i]); i++; } else{ n.push_back(b[j]); j++; } } return n; } int i,j,id; long long count_swaps(std::vector<int> s) { t=s.size(); s=mergesort(s); /*bool sw=0; int j=s.size()/2; for(int i=0;i<s.size()/2;i++){ if(s[i]*(-1)!=s[j]){ sw=1; break; } if(s[i]>=0){sw=1; break;} if(s[j]<0){ sw=1; break;} j++; } // cout<<sw<<endl; if(sw==0){ long long acum=0; for(int i=1;i<s.size()/2;i++){ acum+=i; } return acum; } else{ c=0; for(int i=0;i<s.size();i+=2){ if(s[i]>0){ int shoes=s[i],id; for(int j=i+1;j<s.size();j++){ if(s[j]==shoes*(-1)){ id=j; break; } } for(int j=id;j>i;j--){ swap(s[j],s[j-1]); c++; } } else{ if(s[i+1]!=s[i]*(-1)){ int id,shoes=s[i]*(-1); for(int j=i+1;j<s.size();j++){ if(s[j]==shoes){ id=j; break; } } for(int j=id;j>i+1;j--){ swap(s[j],s[j-1]); c++; } } } } return c;}*/ return c; }

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

shoes.cpp: In function 'std::vector<int> mergesort(std::vector<int>)':
shoes.cpp:19:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=mi;i<s.size();i++){
                ~^~~~~~~~~
shoes.cpp:36:7: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(t==s.size()){
      ~^~~~~~~~~~
shoes.cpp:38:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<a.size();i++){
                 ~^~~~~~~~~
shoes.cpp:46:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(i==a.size() and j==b.size()) break;
        ~^~~~~~~~~~
shoes.cpp:46:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(i==a.size() and j==b.size()) break;
                        ~^~~~~~~~~~
shoes.cpp:47:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(i==a.size() and j<b.size()){
        ~^~~~~~~~~~
shoes.cpp:47:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(i==a.size() and j<b.size()){
                        ~^~~~~~~~~
shoes.cpp:51:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(j==b.size() and i<a.size()){
        ~^~~~~~~~~~
shoes.cpp:51:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(j==b.size() and i<a.size()){
                        ~^~~~~~~~~
#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...