50,其他TLE,如何优化?
查看原帖
50,其他TLE,如何优化?
332914
happybob楼主2021/3/7 14:12
#include <cstdio>
using namespace std;

struct Node 
{
	bool flag;
	int id;
};

namespace FAST_IO
{
	inline int read()
	{
		int s = 0;
		char ch = getchar();
		while (ch >= '0' && ch <= '9')
		{
			s = (s << 1) + (s << 3) + (ch ^ 48);
			ch = getchar();
		}
		return s;
	}
	inline void write(int x)
	{
		int s[20], top = 0;
		while (x)
		{
			s[++top] = x % 10; 
			x /= 10;
		}
		if (!top) s[++top] = 0;
		while (top) 
		{
			putchar(s[top--] + '0');
		}
	}

};

using namespace FAST_IO;

Node a[10005][105];

int main()
{
	int n, m;
	n = read();
	m = read();
	for (register int i = 0; i < n; i++)
	{
		for (register int j = 0; j < m; j++)
		{
			a[i][j].flag = read();
			a[i][j].id = read();
		}
	}
	int x, sum = 0;
	x = read();
	x %= m;
	int last = x;
	for (register int i = 0; i < n; i++)
	{
		sum += a[i][last % m].id;
		int cnt = 0;
		Node b = a[i][last % m];
		int c = b.id;
		if (b.flag) cnt++;
		while (cnt < c)
		{
			last++;
			cnt += a[i][last % m].flag;
		}
	}
	write(sum % 20123);
	putchar('\n');
	return 0;
}
2021/3/7 14:12
加载中...