QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#714543#5301. Modulo Ruins the LegendcbdsopaCompile Error//C++141.8kb2024-11-06 00:01:152024-11-06 00:01:15

Judging History

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

  • [2024-11-06 00:01:15]
  • 评测
  • [2024-11-06 00:01:15]
  • 提交

answer

#include<bits/stdc++.h>
#define ull unsigned long long
#define ll long long
#define db double
#define file(a) freopen(#a".in", "r", stdin), freopen(#a".out", "w", stdout)
#define sky fflush(stdout)
#define gc getchar
#define pc putchar
namespace IO{
	template<class T>
	inline void read(T &s){
		s = 0;char ch = gc();bool f = 0;
		while(ch < '0' || '9'<ch) {if(ch == '-') f = 1; ch = gc();}
		while('0'<=ch && ch<='9') {s = s * 10 + (ch ^ 48); ch = gc();}
		if(ch == '.'){
			T p = 0.1;ch = gc();
			while('0' <= ch && ch <= '9') {s = s + p * (ch ^ 48);p /= 10;ch = gc();}
		}
		s = f ? -s : s;
	}
	template<class T,class ...A>
	inline void read(T &s,A &...a){
		read(s); read(a...);
	}
	template<class T>
	inline void print(T x){
		if(x<0) {x = -x; pc('-');}
		static char st[40];
		static int top;
		top = 0;
		do{st[++top] = x - x / 10 * 10 + '0';} while(x /= 10);
		while(top) {pc(st[top--]);}
	}
	template<class T,class ...A>
	inline void print(T s,A ...a){
		print(s); print(a...);
	}
};
using IO::read;
using IO::print;
int n, m;
ll exgcd(ll a, ll b, ll &x, ll &y){
	if(!b){
		x = 1; y = 0;
		return a;
	}
	ll d = exgcd(b, a % b, y, x);
	y -= (a / b) * x;
	return d;
}
int main(){
	//file(a);
	read(n, m);
	ll sum = 0;
	for(int i = 1; i <= n; ++i){
		int x; read(x);
		sum += x;
	}
	ll s = 0, d = 0, k = 0, t = 0;
	ll g = exgcd(n, 1ll * n * (n + 1) / 2, s, d);
	if(s * n + d * n * (n + 1) / 2 != g){
		printf("!\n");
		return;
	}
	ll g2 = exgcd(g, m, k, t);
	s *= k; d *= k;
	sum %= m;
	//g2 %= m;
	printf("%lld\n", sum % g2);
	ll t2 = sum / g2;
	int S = (m - (s * t2 % m + m) % m) % m;
	int D = (m - (d * t2 % m + m) % m) % m;
	printf("%d %d\n", S, D);
	return 0;
}
/*
sum + n * s + n * (n + 1) / 2 * d - m * t == r
*/

詳細信息

answer.code: In function ‘int main()’:
answer.code:63:17: error: return-statement with no value, in function returning ‘int’ [-fpermissive]
   63 |                 return;
      |                 ^~~~~~