답안 #24745

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
24745 2017-06-12T18:12:13 Z Bruteforceman 조교 (CEOI16_popeala) C++11
컴파일 오류
0 ms 0 KB
#include "bits/stdc++.h"
using namespace std;
#define prev sdkjflksd

int points[20010];
long long pref[20010];

int result[55][20010];
int prev[55][20010];
vector <int> v[20010];

long long dp[55][20010];
const long long inf = 1e16;

int main(int argc, char const *argv[])
{
	int N, T, S;
	scanf("%d %d %d", &N, &T, &S);

	for(int i = 1; i <= T; i++) {
		scanf("%d", &points[i]);
		pref[i] = pref[i - 1] + points[i];
	}
	for(int i = 1; i <= N; i++) {
		char *s;
		s = new char [T];
		scanf("%s", s);
		for(int j = 1; j <= T; j++) {
			result[i][j] = s[j-1] - '0';
		}
		delete s;
	} 
	for(int i = 1; i <= N; i++) {
		for(int j = 1; j <= T; j++) {
			if(result[i][j] == 1) {
				prev[i][j] = 1 + prev[i][j - 1];
			} else {
				prev[i][j] = 0;
			}
		}
	}
	for(int i = 1; i <= T; i++) {
		vector <int> h;
		for(int j = 1; j <= N; j++) {
			h.push_back(prev[j][i]);
		}
		sort(h.begin(), h.end());
		reverse(h.begin(), h.end());
		for(auto j : h) {
			v[i].push_back(i - j);
		}
		v[i].push_back(i);
	}

	dp[0][0] = 0;
	for(int i = 1; i <= T; i++) {
		dp[0][i] = inf;
	}
	for(int i = 1; i <= S; i++) {
		dp[i][0] = inf;
		for(int j = 1; j <= T; j++) {
			dp[i][j] = inf;
			for(size_t x = 0; x < v[j].size(); x++) {
				for(int k = 0; k < v[j][x]; k++) {
					dp[i][j] = min(dp[i][j], dp[i - 1][k] + (pref[j] - pref[k]) * x);
				}
			}
		}
	}
	for(int i = 1; i <= S; i++) {
		printf("%lld\n", dp[i][T]);
	}
	return 0;
}

Compilation message

popeala.cpp: In function 'int main(int, const char**)':
popeala.cpp:65:69: error: no matching function for call to 'min(long long int&, long long unsigned int)'
      dp[i][j] = min(dp[i][j], dp[i - 1][k] + (pref[j] - pref[k]) * x);
                                                                     ^
In file included from /usr/include/c++/5/bits/char_traits.h:39:0,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/istream:38,
                 from /usr/include/c++/5/sstream:38,
                 from /usr/include/c++/5/complex:45,
                 from /usr/include/c++/5/ccomplex:38,
                 from /usr/include/x86_64-linux-gnu/c++/5/bits/stdc++.h:52,
                 from popeala.cpp:1:
/usr/include/c++/5/bits/stl_algobase.h:195:5: note: candidate: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)
     min(const _Tp& __a, const _Tp& __b)
     ^
/usr/include/c++/5/bits/stl_algobase.h:195:5: note:   template argument deduction/substitution failed:
popeala.cpp:65:69: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'long long unsigned int')
      dp[i][j] = min(dp[i][j], dp[i - 1][k] + (pref[j] - pref[k]) * x);
                                                                     ^
In file included from /usr/include/c++/5/bits/char_traits.h:39:0,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/istream:38,
                 from /usr/include/c++/5/sstream:38,
                 from /usr/include/c++/5/complex:45,
                 from /usr/include/c++/5/ccomplex:38,
                 from /usr/include/x86_64-linux-gnu/c++/5/bits/stdc++.h:52,
                 from popeala.cpp:1:
/usr/include/c++/5/bits/stl_algobase.h:243:5: note: candidate: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)
     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^
/usr/include/c++/5/bits/stl_algobase.h:243:5: note:   template argument deduction/substitution failed:
popeala.cpp:65:69: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'long long unsigned int')
      dp[i][j] = min(dp[i][j], dp[i - 1][k] + (pref[j] - pref[k]) * x);
                                                                     ^
In file included from /usr/include/c++/5/algorithm:62:0,
                 from /usr/include/x86_64-linux-gnu/c++/5/bits/stdc++.h:64,
                 from popeala.cpp:1:
/usr/include/c++/5/bits/stl_algo.h:3445:5: note: candidate: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>)
     min(initializer_list<_Tp> __l)
     ^
/usr/include/c++/5/bits/stl_algo.h:3445:5: note:   template argument deduction/substitution failed:
popeala.cpp:65:69: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
      dp[i][j] = min(dp[i][j], dp[i - 1][k] + (pref[j] - pref[k]) * x);
                                                                     ^
In file included from /usr/include/c++/5/algorithm:62:0,
                 from /usr/include/x86_64-linux-gnu/c++/5/bits/stdc++.h:64,
                 from popeala.cpp:1:
/usr/include/c++/5/bits/stl_algo.h:3451:5: note: candidate: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)
     min(initializer_list<_Tp> __l, _Compare __comp)
     ^
/usr/include/c++/5/bits/stl_algo.h:3451:5: note:   template argument deduction/substitution failed:
popeala.cpp:65:69: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
      dp[i][j] = min(dp[i][j], dp[i - 1][k] + (pref[j] - pref[k]) * x);
                                                                     ^
popeala.cpp:18:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d %d", &N, &T, &S);
                               ^
popeala.cpp:21:26: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &points[i]);
                          ^
popeala.cpp:27:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%s", s);
                 ^