Submission #40520

# Submission time Handle Problem Language Result Execution time Memory
40520 2018-02-03T17:38:39 Z Pajaraja Bank (IZhO14_bank) C++14
0 / 100
2 ms 1008 KB
#include <bits/stdc++.h>
using namespace std;
int a[20],b[20];
bool ma[22][1100000];
vector<int> v[22];
vector<int> s[20007];
int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	for(int i=0;i<n;i++) scanf("%d",&a[i]);
	for(int i=0;i<m;i++) scanf("%d",&b[i]);
	v[0].push_back(0);
	for(int i=0;i<(1<<m);i++)
	{
		int ma=i;
		int sum=0;
		for(int j=0;j<n;j++)
		{
			if(ma%2==1) sum+=b[j];
			ma/=2;
		}
	    s[sum].push_back(i);
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=0;j<s[a[i]].size();j++) for(int k=0;k<v[i-1].size();k++) if(((v[i-1][k] xor s[a[i]][j]) == (v[i-1][k] or s[a[i]][j])) && !ma[i][v[i-1][k] xor s[a[i]][j]])
		{
			v[i].push_back(s[a[i]][j] xor v[i-1][k]);
			ma[i][s[a[i]][j] xor v[i-1][k]]=true;
		}
	}
	if(v[n].size()>0) printf("YES");
	else printf("NO");
}

Compilation message

bank.cpp: In function 'int main()':
bank.cpp:27:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j=0;j<s[a[i]].size();j++) for(int k=0;k<v[i-1].size();k++) if(((v[i-1][k] xor s[a[i]][j]) == (v[i-1][k] or s[a[i]][j])) && !ma[i][v[i-1][k] xor s[a[i]][j]])
               ~^~~~~~~~~~~~~~~
bank.cpp:27:50: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j=0;j<s[a[i]].size();j++) for(int k=0;k<v[i-1].size();k++) if(((v[i-1][k] xor s[a[i]][j]) == (v[i-1][k] or s[a[i]][j])) && !ma[i][v[i-1][k] xor s[a[i]][j]])
                                                 ~^~~~~~~~~~~~~~
bank.cpp:10:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d",&n,&m);
  ~~~~~^~~~~~~~~~~~~~
bank.cpp:11:28: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i=0;i<n;i++) scanf("%d",&a[i]);
                       ~~~~~^~~~~~~~~~~~
bank.cpp:12:28: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i=0;i<m;i++) scanf("%d",&b[i]);
                       ~~~~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 760 KB Output is correct
2 Incorrect 2 ms 884 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 932 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 1008 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 760 KB Output is correct
2 Incorrect 2 ms 884 KB Output isn't correct
3 Halted 0 ms 0 KB -