Submission #803267

# Submission time Handle Problem Language Result Execution time Memory
803267 2023-08-03T02:55:04 Z Username4132 Mountains (IOI17_mountains) C++14
0 / 100
1 ms 340 KB
#include "mountains.h"
#include <vector>
using namespace std;
#define forn(i, n) for(int i=0; i<(int)n; ++i)
#define forsn(i, s, n) for(int i=s; i<(int)n; ++i)
#define dforn(i, n) for(int i=n-1; i>=0; --i)
 
const int MAXN = 2010;
int n, dp[MAXN][MAXN];
 
bool clockwise(int ax, int bx, int cx, int ay, int by, int cy){
	return (ax*by + bx*cy + cx*ay - ay*bx - by*cx - cy*ax)>=0;
}
 
int maximum_deevs(vector<int> y) {
	n = y.size();
	dp[0][1]=1;
	forsn(i, 1, n){
		int lst = i-1, sum=1;
		dp[i][i+1]=1;
		dforn(j, i){
			if(clockwise(j, lst, i, y[j], y[lst], y[i])){
				sum+=dp[j+1][lst];
				lst=j;
			}
			dp[j][i+1]=max(sum+dp[j][lst], dp[j][i]);
		}
	}
	return dp[0][n];
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Incorrect 0 ms 340 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Incorrect 0 ms 340 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Incorrect 0 ms 340 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Incorrect 0 ms 340 KB Output isn't correct
6 Halted 0 ms 0 KB -