Submission #519543


Source Code Expand

// Template.cpp by kevinptt 20150108
#include <bits/stdc++.h>
/*
#include <cstdio>
#include <cstring>
#include <cmath>

#include <algorithm>
#include <vector>
#include <queue>
#include <deque>
#include <list>
#include <map>
#include <set>

#include <iostream>
// */
using namespace std;

#define REP(I, N) for(int I=0; I<(N); ++I)
#define REP1(I, N) for(int I=1; I<=(N); ++I)
#define REPP(I, A, B) for(int I=(A); I<(B); ++I)
#define REPR(I, N) for(int I=N-1; I>=0; --I)
#define RI(X) scanf("%d", &(X))
#define RII(X, Y) scanf("%d%d", &(X), &(Y))
#define RIII(X, Y, Z) scanf("%d%d%d", &(X), &(Y), &(Z))
#define DRI(X) int X; scanf("%d", &X)
#define DRII(X, Y) int X, Y; scanf("%d%d", &X, &Y)
#define DRIII(X, Y, Z) int X, Y, Z; scanf("%d%d%d", &X, &Y, &Z)
#define MP make_pair
#define PB push_back
#define MSET(x, y) memset(x, y, sizeof(x))
#define F first
#define S second
typedef long long ll;
typedef pair<int,int> pii;

/***************************************************************/

set< pair<pii, int> > mySet;
int a, b, c;

inline bool exist(int x, int y, int z) {
	if( x<0 || y<0 || z<0 || x>=a || y>=b || z>=c ) return false;
	return mySet.find(MP(MP(x, y), z))==mySet.end();
}

inline int change(int x, int y, int z) {
	int ret = 0;
	bool tmp1, tmp2;
	tmp1 = exist(x+1, y, z), tmp2 = exist(x-1, y, z);
	if( tmp1&&tmp2 ) ret += 2;
	else if( !tmp1 && !tmp2 ) ret -= 2;
	tmp1 = exist(x, y+1, z), tmp2 = exist(x, y-1, z);
	if( tmp1&&tmp2 ) ret += 2;
	else if( !tmp1 && !tmp2 ) ret -= 2;
	tmp1 = exist(x, y, z+1), tmp2 = exist(x, y, z-1);
	if( tmp1&&tmp2 ) ret += 2;
	else if( !tmp1 && !tmp2 ) ret -= 2;
	return ret;
}

int main() {
#ifdef KEVINPTT
	//freopen("a.in", "r", stdin);
	//freopen("a.ans", "w", stdout);
#endif
	RIII(a, b, c);
	DRI(n);
	ll ans = (1ll*a*b+1ll*b*c+1ll*a*c)<<1;
	while( n-- ) {
		DRIII(x, y, z);
		ans += change(x, y, z);
		mySet.insert(MP(MP(x, y), z));
	}
	printf("%lld\n", ans);
	
	return 0;
}

Submission Info

Submission Time
Task G - Surface Area of Cubes
User kevinptt
Language C++11 (GCC 4.8.1)
Score 100
Code Size 2010 Byte
Status AC
Exec Time 35 ms
Memory 996 KiB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:68:15: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  RIII(a, b, c);
               ^
./Main.cpp:69:8: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  DRI(n);
        ^
./Main.cpp:72:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   DRIII(x, y, z);
                 ^

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 68
Set Name Test Cases
All 00_sample_00, 00_sample_01, 00_sample_02, 10_random_small_00, 10_random_small_01, 10_random_small_02, 10_random_small_03, 10_random_small_04, 10_random_small_05, 10_random_small_06, 10_random_small_07, 10_random_small_08, 10_random_small_09, 11_random_large_00, 11_random_large_01, 11_random_large_02, 11_random_large_03, 11_random_large_04, 11_random_large_05, 11_random_large_06, 11_random_large_07, 11_random_large_08, 11_random_large_09, 20_sparse_00, 20_sparse_01, 20_sparse_02, 20_sparse_03, 20_sparse_04, 20_sparse_05, 20_sparse_06, 20_sparse_07, 20_sparse_08, 20_sparse_09, 30_path_00, 30_path_01, 30_path_02, 30_path_03, 30_path_04, 30_path_05, 30_path_06, 30_path_07, 30_path_08, 30_path_09, 40_max_00, 40_max_01, 40_max_02, 40_max_03, 40_max_04, 50_min_00, 50_min_01, 50_min_02, 50_min_03, 50_min_04, 60_hirabettai_00, 60_hirabettai_01, 60_hirabettai_02, 60_hirabettai_03, 60_hirabettai_04, 70_hosonagai_00, 70_hosonagai_01, 70_hosonagai_02, 70_hosonagai_03, 70_hosonagai_04, 80_zero_00, 80_zero_01, 80_zero_02, 99_tokohand_00, 99_tokohand_01
Case Name Status Exec Time Memory
00_sample_00 AC 27 ms 872 KiB
00_sample_01 AC 27 ms 928 KiB
00_sample_02 AC 28 ms 984 KiB
10_random_small_00 AC 27 ms 924 KiB
10_random_small_01 AC 35 ms 868 KiB
10_random_small_02 AC 31 ms 920 KiB
10_random_small_03 AC 27 ms 916 KiB
10_random_small_04 AC 28 ms 916 KiB
10_random_small_05 AC 27 ms 864 KiB
10_random_small_06 AC 29 ms 916 KiB
10_random_small_07 AC 27 ms 796 KiB
10_random_small_08 AC 28 ms 800 KiB
10_random_small_09 AC 28 ms 808 KiB
11_random_large_00 AC 27 ms 928 KiB
11_random_large_01 AC 27 ms 924 KiB
11_random_large_02 AC 27 ms 920 KiB
11_random_large_03 AC 28 ms 796 KiB
11_random_large_04 AC 26 ms 788 KiB
11_random_large_05 AC 26 ms 924 KiB
11_random_large_06 AC 27 ms 924 KiB
11_random_large_07 AC 25 ms 932 KiB
11_random_large_08 AC 28 ms 920 KiB
11_random_large_09 AC 30 ms 920 KiB
20_sparse_00 AC 27 ms 868 KiB
20_sparse_01 AC 25 ms 928 KiB
20_sparse_02 AC 25 ms 804 KiB
20_sparse_03 AC 27 ms 924 KiB
20_sparse_04 AC 26 ms 924 KiB
20_sparse_05 AC 29 ms 924 KiB
20_sparse_06 AC 27 ms 792 KiB
20_sparse_07 AC 27 ms 924 KiB
20_sparse_08 AC 27 ms 920 KiB
20_sparse_09 AC 28 ms 860 KiB
30_path_00 AC 27 ms 804 KiB
30_path_01 AC 29 ms 996 KiB
30_path_02 AC 30 ms 924 KiB
30_path_03 AC 27 ms 868 KiB
30_path_04 AC 29 ms 992 KiB
30_path_05 AC 28 ms 860 KiB
30_path_06 AC 29 ms 920 KiB
30_path_07 AC 29 ms 924 KiB
30_path_08 AC 28 ms 928 KiB
30_path_09 AC 29 ms 920 KiB
40_max_00 AC 29 ms 824 KiB
40_max_01 AC 28 ms 920 KiB
40_max_02 AC 28 ms 980 KiB
40_max_03 AC 26 ms 924 KiB
40_max_04 AC 27 ms 932 KiB
50_min_00 AC 27 ms 868 KiB
50_min_01 AC 26 ms 868 KiB
50_min_02 AC 27 ms 792 KiB
50_min_03 AC 27 ms 868 KiB
50_min_04 AC 27 ms 868 KiB
60_hirabettai_00 AC 26 ms 872 KiB
60_hirabettai_01 AC 26 ms 868 KiB
60_hirabettai_02 AC 28 ms 792 KiB
60_hirabettai_03 AC 28 ms 868 KiB
60_hirabettai_04 AC 27 ms 868 KiB
70_hosonagai_00 AC 26 ms 872 KiB
70_hosonagai_01 AC 27 ms 872 KiB
70_hosonagai_02 AC 27 ms 868 KiB
70_hosonagai_03 AC 27 ms 916 KiB
70_hosonagai_04 AC 27 ms 920 KiB
80_zero_00 AC 27 ms 960 KiB
80_zero_01 AC 26 ms 932 KiB
80_zero_02 AC 26 ms 868 KiB
99_tokohand_00 AC 26 ms 928 KiB
99_tokohand_01 AC 27 ms 932 KiB