QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#494486#3025. AssimilationPetroTarnavskyi#Compile Error//C++201.5kb2024-07-27 15:56:462024-07-27 15:56:47

Judging History

你现在查看的是最新测评结果

  • [2024-07-27 15:56:47]
  • 评测
  • [2024-07-27 15:56:46]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;

#define FOR(i, a, b) for(int i = (a); i < (b); i++)
#define RFOR(i, a, b) for(int i = (a) - 1; i >= (b); i--)
#define SZ(a) int(a.size())
#define ALL(a) a.begin(), a.end()
#define PB push_back
#define MP make_pair
#define F first
#define S second

typedef long long LL;
typedef vector<int> VI;
typedef pair<int, int> PII;
typedef double db;

bool check(int n, int k, VI& p, VI& a)
{
	int s = 0;
	FOR (i, 0, k)
		s += a[i];
	if (s != p[0])
		return 0;
	FOR (i, k, n)
	{
		s += a[k];
		s -= a[i - k];
		if (s != p[i - k + 1])
			return 0;
	}
	return 1;
}

void solve()
{
	int n, k;
	cin >> n >> k;
	VI a(n);
	FOR (i, 0, n)
		cin >> a[i];
	VI mnK(k);
	VI d(k);
	FOR (i, 0, n - k)
	{
		d[k] += a[i + k] - a[i];
		mnK[k] = min(mnK[k], d[k]);
	}
	VI p(k);
	iota(ALL(p), 0);
	vector<VI> ans;
	do
	{
		VI cnt(n);
		VI b(n);
		bool ok = true;
		FOR (j, 0, k)
		{
			int mn = -1;
			FOR (i, 0, n)
			{
				if (cnt[i] == 0)
				{
					mn = i;
					break;
				}
			}
			int i = p[j];
			int el = mn - mnK;
			
			while (i < n)
			{
				b[i] = el;
				if (cnt[el])
				{
					ok = false;
					break;
				}
				cnt[el]++;
				int i2 = i + k;
				if (i2 < n)
				{
					
				}
				i = i2;
			} 
			if (!ok)
				break;
		}
		if (!ok)
			continue;		
		
	} while (next_permutation(ALL(p)));
	
	
}

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	
	int t;
	cin >> t;
	while (t--)
		solve();
	
	return 0;
}




詳細信息

answer.code: In function ‘void solve()’:
answer.code:70:37: error: no match for ‘operator-’ (operand types are ‘int’ and ‘VI’ {aka ‘std::vector<int>’})
   70 |                         int el = mn - mnK;
      |                                  ~~ ^ ~~~
      |                                  |    |
      |                                  int  VI {aka std::vector<int>}
In file included from /usr/include/c++/13/bits/stl_algobase.h:67,
                 from /usr/include/c++/13/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
                 from answer.code:1:
/usr/include/c++/13/bits/stl_iterator.h:625:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> constexpr decltype ((__y.base() - __x.base())) std::operator-(const reverse_iterator<_IteratorL>&, const reverse_iterator<_IteratorR>&)’
  625 |     operator-(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/13/bits/stl_iterator.h:625:5: note:   template argument deduction/substitution failed:
answer.code:70:39: note:   mismatched types ‘const std::reverse_iterator<_IteratorL>’ and ‘int’
   70 |                         int el = mn - mnK;
      |                                       ^~~
/usr/include/c++/13/bits/stl_iterator.h:1800:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> constexpr decltype ((__x.base() - __y.base())) std::operator-(const move_iterator<_IteratorL>&, const move_iterator<_IteratorR>&)’
 1800 |     operator-(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/13/bits/stl_iterator.h:1800:5: note:   template argument deduction/substitution failed:
answer.code:70:39: note:   mismatched types ‘const std::move_iterator<_IteratorL>’ and ‘int’
   70 |                         int el = mn - mnK;
      |                                       ^~~
In file included from /usr/include/c++/13/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:127:
/usr/include/c++/13/complex:365:5: note: candidate: ‘template<class _Tp> constexpr std::complex<_Tp> std::operator-(const complex<_Tp>&, const complex<_Tp>&)’
  365 |     operator-(const complex<_Tp>& __x, const complex<_Tp>& __y)
      |     ^~~~~~~~
/usr/include/c++/13/complex:365:5: note:   template argument deduction/substitution failed:
answer.code:70:39: note:   mismatched types ‘const std::complex<_Tp>’ and ‘int’
   70 |                         int el = mn - mnK;
      |                                       ^~~
/usr/include/c++/13/complex:374:5: note: candidate: ‘template<class _Tp> constexpr std::complex<_Tp> std::operator-(const complex<_Tp>&, const _Tp&)’
  374 |     operator-(const complex<_Tp>& __x, const _Tp& __y)
      |     ^~~~~~~~
/usr/include/c++/13/complex:374:5: note:   template argument deduction/substitution failed:
answer.code:70:39: note:   mismatched types ‘const std::complex<_Tp>’ and ‘int’
   70 |                         int el = mn - mnK;
      |                                       ^~~
/usr/include/c++/13/complex:383:5: note: candidate: ‘template<class _Tp> constexpr std::complex<_Tp> std::operator-(const _Tp&, const complex<_Tp>&)’
  383 |     operator-(const _Tp& __x, const complex<_Tp>& __y)
      |     ^~~~~~~~
/usr/include/c++/13/complex:383:5: note:   template argument deduction/substitution failed:
answer.code:70:39: note:   ‘VI’ {aka ‘std::vector<int>’} is not derived from ‘const std::complex<_Tp>’
   70 |                         int el = mn - mnK;
      |                                       ^~~
/usr/include/c++/13/complex:460:5: note: candidate: ‘template<class _Tp> constexpr std::complex<_Tp> std::operator-(const complex<_Tp>&)’
  460 |     operator-(const complex<_Tp>& __x)
      |     ^~~~~~~~
/usr/include/c++/13/complex:460:5: note:   template argument deduction/substitution failed:
answer.code:70:39: note:   mismatched types ‘const std::complex<_Tp>’ and ‘int’
   70 |                         int el = mn - mnK;
      |                                       ^~~
In file included from /usr/include/c++/13/valarray:605,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:166:
/usr/include/c++/13/bits/valarray_after.h:406:5: note: candidate: ‘template<class _Dom1, class _Dom2> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Expr, std::_Expr, _Dom1, _Dom2>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const _Expr<_Dom1, typename _Dom1::value_type>&, const _Expr<_Dom2, typename _Dom2::value_type>&)’
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, struct std::__minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
answer.code:70:39: note:   mismatched types ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’ and ‘int’
   70 |                         int el = mn - mnK;
      |                                       ^~~
/usr/include/c++/13/bits/val...