제출 #231236

#제출 시각아이디문제언어결과실행 시간메모리
231236mohamedsobhi777Mountains (IOI17_mountains)C++14
20 / 100
160 ms504 KiB
/*
        Pure bruteforce
*/
#include "mountains.h"
#include <bits/stdc++.h>

using namespace std ; 

int maximum_deevs(std::vector<int> y) {
        int ret = 0 ; 
        int n = y.size() ; 

        for(int i = 1 ; i < (1<<n) ; i++){
                vector<pair<int , int> > prs ; 
                for(int j = 0 ;j < n ;j++){
                        if(i &(1<<j)){
                                prs.push_back({j , y[j]}) ; 
                        }
                }
                if(prs.size() < ret) continue ; 
                bool okk = 1 ; 
                for(int j = 0 ; j < prs.size() ; j++){
                        for(int k = j +1 ; k < prs.size() && k < j+2; k++){
                                bool ok = 0 ;
                                double slp = 1.0 *  (prs[j].second - prs[k].second) /( prs[j].first - prs[k].first) ;  
                                double o = -1 ; 
                                double c = prs[j].second - slp * prs[j].first ; 
                                for(int l = prs[j].first +1 ; l < prs[k].first ; l++){
                                        if(l * slp + y[l] * o + c < 0){
                                                ok =1 ; 
                                        }
                                }

                                if(!ok){
                                        okk = 0 ;
                                        j = prs.size() ;  
                                        break ; 
                                }
                        }
                }
                if(okk){
                        ret = max(ret , (int) prs.size()) ; 
                }
        }

	return ret;
}

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

mountains.cpp: In function 'int maximum_deevs(std::vector<int>)':
mountains.cpp:20:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 if(prs.size() < ret) continue ; 
                    ~~~~~~~~~~~^~~~~
mountains.cpp:22:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 for(int j = 0 ; j < prs.size() ; j++){
                                 ~~^~~~~~~~~~~~
mountains.cpp:23:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                         for(int k = j +1 ; k < prs.size() && k < j+2; k++){
                                            ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...