Submission #180165


Source Code Expand

#define NDEBUG
#include <cstdlib>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <numeric>

using namespace std;

const char * nextCLineOrWord(bool wordFlag) {
	static char buf[65536];
	static int bufLen = sizeof(buf);
	static int bufPos = sizeof(buf);
	static bool canReadFlag = true;
	static bool crFlag = false;
	static bool enterFlag = false;
	if(canReadFlag && (enterFlag ? bufLen<=bufPos : (int)sizeof(buf)<=bufPos+bufPos)) {
		if(0<bufLen-bufPos) {
			memmove(buf, buf+bufPos, bufLen-bufPos);
			bufLen -= bufPos;
		}
		else {
			bufLen = 0;
		}
		char * result = fgets(buf+bufLen, sizeof(buf)-bufLen, stdin);
		canReadFlag = (result!=NULL);
		if(result!=NULL) {
			int n = strlen(result);
			enterFlag = (n!=(int)sizeof(buf)-1-bufLen || (1<=bufLen+n && buf[bufLen+n-1]=='\n'));
			bufLen += n;
		}
		bufPos = 0;
	}
	if(wordFlag) {
		int pos = bufPos;
		while(true) {
			char c = buf[pos];
			if(c==32) {
				buf[pos++] = '\0';
				break;
			}
			else if(c==10) {
				if(crFlag) {
					crFlag = false;
					if(bufPos==pos) {
						pos = ++bufPos;
						continue;
					}
				}
				buf[pos++] = '\0';
				break;
			}
			else if(c==13) {
				crFlag = true;
				buf[pos++] = '\0';
				break;
			}
			else if(c==0) {
				break;
			}
			++pos;
		}
		const char * ret = buf + bufPos;
		bufPos = pos;
		return ret;
	}
	else {
		int pos = bufPos;
		while(true) {
			char c = buf[pos];
			if(c==10) {
				if(crFlag) {
					crFlag = false;
					if(bufPos==pos) {
						pos = ++bufPos;
						continue;
					}
				}
				buf[pos++] = '\0';
				break;
			}
			else if(c==13) {
				crFlag = true;
				buf[pos++] = '\0';
				break;
			}
			else if(c==0) {
				break;
			}
			++pos;
		}
		const char * ret = buf + bufPos;
		bufPos = pos;
		return ret;
	}
}

const char * nextCWord() {
	return nextCLineOrWord(true);
}

int nextInt() {
	return atoi(nextCWord());
}

int main() {
	int N = nextInt();
	int b[] = { 0, 1, 0, 1, 2, 3 };
	int ret = 0;
	for(int i=0; i<N; ++i) {
		int a = nextInt();
		ret += b[(a-1)%6];
	}
	printf("%d\n", ret);

	return 0;
}

Submission Info

Submission Time
Task B - 花占い
User colun
Language C++11 (GCC 4.8.1)
Score 100
Code Size 2196 Byte
Status AC
Exec Time 27 ms
Memory 832 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 18
Set Name Test Cases
All test_1.txt, test_112358.txt, test_1379137913.txt, test_1414213562.txt, test_1732151817.txt, test_2.txt, test_2236167977.txt, test_2645751311.txt, test_3.txt, test_3141592653.txt, test_4.txt, test_5.txt, test_6.txt, test_6666666666.txt, test_7.txt, test_73.txt, test_8.txt, test_9.txt
Case Name Status Exec Time Memory
sample_01.txt AC 23 ms 796 KB
sample_02.txt AC 23 ms 652 KB
test_1.txt AC 25 ms 796 KB
test_112358.txt AC 22 ms 772 KB
test_1379137913.txt AC 21 ms 792 KB
test_1414213562.txt AC 24 ms 796 KB
test_1732151817.txt AC 23 ms 728 KB
test_2.txt AC 23 ms 672 KB
test_2236167977.txt AC 24 ms 792 KB
test_2645751311.txt AC 21 ms 728 KB
test_3.txt AC 19 ms 792 KB
test_3141592653.txt AC 19 ms 784 KB
test_4.txt AC 19 ms 788 KB
test_5.txt AC 24 ms 832 KB
test_6.txt AC 27 ms 792 KB
test_6666666666.txt AC 22 ms 792 KB
test_7.txt AC 21 ms 792 KB
test_73.txt AC 21 ms 796 KB
test_8.txt AC 23 ms 764 KB
test_9.txt AC 20 ms 712 KB