1. 程式人生 > >D. Dog Show 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest, qualification stage (Online Mirror, ACM-ICPC Rules, Teams Preferred)

D. Dog Show 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest, qualification stage (Online Mirror, ACM-ICPC Rules, Teams Preferred)

cto long space 。。 urn ext team south cpc

http://codeforces.com/contest/847/problem/D

巧妙的貪心

仔細琢磨。。。

像凸包裏的處理

 1 #include <cstdio>
 2 #include <cstdlib>
 3 #include <cmath>
 4 #include <cstring>
 5 #include <time.h>
 6 #include <string>
 7 #include <set>
 8 #include <map>
 9 #include <list>
10
#include <stack> 11 #include <queue> 12 #include <vector> 13 #include <bitset> 14 #include <ext/rope> 15 #include <algorithm> 16 #include <iostream> 17 using namespace std; 18 #define ll long long 19 #define minv 1e-6 20 #define inf 1e9 21 #define pi 3.1415926536 22
#define E 2.7182818284 23 const ll mod=1e9+7;//998244353 24 const int maxn=2e5+10; 25 26 vector<int>b; 27 vector<int>::iterator j; 28 int a[maxn]; 29 30 priority_queue<int>s; 31 32 int main() 33 { 34 int n,m,i,a,sum=0,g=0; 35 scanf("%d%d",&n,&m); 36 for (i=1;i<=min(m-1
,n);i++) 37 { 38 scanf("%d",&a); 39 if (a>=m) 40 continue; 41 while (!s.empty() && s.top()>=m-i) 42 { 43 s.pop(); 44 g--; 45 } 46 s.push(a-i); 47 g++; 48 sum=max(sum,g); 49 } 50 cout<<sum; 51 return 0; 52 }

D. Dog Show 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest, qualification stage (Online Mirror, ACM-ICPC Rules, Teams Preferred)