Submission #639854

#TimeUsernameProblemLanguageResultExecution timeMemory
639854a_aguiloGlobal Warming (CEOI18_glo)C++14
10 / 100
111 ms1976 KiB
#include<bits/stdc++.h> using namespace std; int n, x, HI; int binarySearch(int x, vector<int>& V, int d){ int hi = V.size()-1; int lo = 0; while(hi >= lo){ int mid = lo + (hi - lo)/2; if((V[mid]-d) < x) lo = mid+1; else hi = mid-1; } return lo; } int main(){ cin >> n >> x; vector<int> nums(n); for(int i = 0; i < n; ++i) cin >> nums[i]; vector<vector<int>> dp(2, vector<int>(1)); dp[0][0] = nums[0]; dp[1][0] = nums[0]; for(int i = 1; i < nums.size(); ++i){ int pos = binarySearch(nums[i], dp[0], x); if(pos == dp[1].size()){ dp[1].push_back(nums[i]); } else dp[1][pos] = min(dp[1][pos],nums[i]); pos = binarySearch(nums[i], dp[0], 0); if(pos == dp[0].size()){ dp[0].push_back(nums[i]); } else dp[0][pos] = nums[i]; //cout << i <<" " << pos << endl; pos = binarySearch(nums[i], dp[1], 0); if(pos == dp[1].size()){ dp[1].push_back(nums[i]); } else dp[1][pos] = min(dp[1][pos], nums[i]); } cout << max(dp[0].size(), dp[1].size()) << endl; return 0; }

Compilation message (stderr)

glo.cpp: In function 'int main()':
glo.cpp:25:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |     for(int i = 1; i < nums.size(); ++i){
      |                    ~~^~~~~~~~~~~~~
glo.cpp:28:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |         if(pos == dp[1].size()){
      |            ~~~~^~~~~~~~~~~~~~~
glo.cpp:35:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |         if(pos == dp[0].size()){
      |            ~~~~^~~~~~~~~~~~~~~
glo.cpp:42:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |         if(pos == dp[1].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...
#Verdict Execution timeMemoryGrader output
Fetching results...