답안 #132072

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
132072 2019-07-18T09:28:07 Z SirCeness Two Dishes (JOI19_dishes) C++14
0 / 100
439 ms 57560 KB
#include <bits/stdc++.h>

using namespace std;
#define mod 1000000007
#define mp make_pair
#define pb push_back
#define bas(x) #x << ": " << x << " "
#define prarr(x, n) cout << #x << ": "; for (int qsd = 0; qsd < n; qsd++) cout << x[qsd] << " "; cout << endl;
#define prarrv(x) cout << #x << ": "; for (int qsd = 0; qsd < (int)x.size(); qsd++) cout << x[qsd] << " "; cout << endl;
#define inside sl<=l%&&r<=sr
#define outside sr<l||r<sl

typedef long long ll;

struct node {
	ll a, b, top;
	double sirala;
	
	bool operator<(const node& a){
		return sirala < a.sirala;
	}
};

node a[200002];
node b[200002];
vector<node> ab;
int n, m;
int dp[2002][2002];

ll get(int kim, int dayi){
	if (dayi == -1) return 0;
	else if (kim == 0) return a[dayi].top;
	else return b[dayi].top;
}

int main(){
	cin >> n >> m;
	ll cur = 0;
	for (int i = 0; i < n; i++){
		int x, y, c;
		cin >> x >> y >> c;
		cur += x;
		a[i] = {x, y, cur, y};
	}
	cur = 0;
	for (int i = 0; i < m; i++){
		int x, y, c;
		cin >> x >> y >> c;
		cur += x;
		b[i] = {x, y, cur, y};
	}
	
	for (int i = 0; i <= n; i++) 
	for (int j = 0; j <= m; j++)
	dp[i][j] = -1;
	
	dp[0][0] = 0;
	for (int i = 0; i <= n; i++){
		for (int j = 0; j <= m; j++){
			if (i != n) dp[i+1][j] = max(dp[i+1][j], dp[i][j] + ((get(0, i) + get(1, j-1) <= a[i].b) ? 1 : 0));
			if (j != m) dp[i][j+1] = max(dp[i][j+1], dp[i][j] + ((get(0, i-1) + get(1, j) <= b[j].b) ? 1 : 0));
		}
	}
	
	cout << dp[n][m] << endl;
	
}

Compilation message

dishes.cpp: In function 'int main()':
dishes.cpp:43:23: warning: narrowing conversion of 'y' from 'int' to 'double' inside { } [-Wnarrowing]
   a[i] = {x, y, cur, y};
                       ^
dishes.cpp:50:23: warning: narrowing conversion of 'y' from 'int' to 'double' inside { } [-Wnarrowing]
   b[i] = {x, y, cur, y};
                       ^
# 결과 실행 시간 메모리 Grader output
1 Runtime error 439 ms 57560 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 439 ms 57560 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 439 ms 57560 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -