Submission #797264

#TimeUsernameProblemLanguageResultExecution timeMemory
797264andecaandeciRabbit Carrot (LMIO19_triusis)C++17
100 / 100
25 ms3048 KiB
#include <bits/stdc++.h> using namespace std; #define start cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(0); #define endl '\n' #define pii pair<int,int> #define pll pair<long long, long long> #define fflush(stdout); cout.flush(); struct point{ int x, y; }; int crossproduct(point a, point b, point c){ //point a biasanya titik (0, 0); int area=(b.x-a.x) * (c.y-a.y) - (b.y-a.y) * (c.x-a.x); if(area<0) return -1; // clockwise else if(area>0) return 1; // counter clockwise return 0; // colinear } int orientation(point p1, point p2, point p3){ int val=(p2.y-p1.y)*(p3.x-p2.x) - (p3.y-p2.y)*(p2.x-p1.x); if(val==0) return 0; // colinear else if(val>0) return 1; // clockwise else return 2; // counter clockwise } bool validcolinear(int a, int b, int c, int d){ if(a>b) swap(a, b); if(c>d) swap(c, d); return max(a, c)<=min(b, d); } bool intersect(point a, point b, point c, point d){ int o1=orientation(a, b, c); int o2=orientation(a, b, d); int o3=orientation(c, d, a); int o4=orientation(c, d, b); if(o1!=o2 && o3!=o4) return 1; if(o1==0 && o2==0 && o3==0 && o4==0){ //all of 4 points are colinear if(validcolinear(a.x, b.x, c.x, d.x) && validcolinear(a.y, b.y, c.y, d.y)){ return 1; } } return 0; } /***********************************************************************************************/ /***********************************************************************************************/ int a[200005], b[200005]; int main(){ start int n, m; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; b[i]=(m*i)-a[i]; } vector<int>v; for(int i=1;i<=n;i++){ int x=b[i]; if(x<0) continue; int idx=upper_bound(v.begin(), v.end(), x) - v.begin(); if(idx==v.size()) v.push_back(x); else v[idx]=x; } int komp=v.size(); cout<<n-komp<<endl; }

Compilation message (stderr)

triusis.cpp: In function 'int main()':
triusis.cpp:69:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   69 |         if(idx==v.size()) v.push_back(x);
      |            ~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...