結果
問題 |
No.3003 多項式の割り算 〜hard〜
|
ユーザー |
![]() |
提出日時 | 2025-01-22 10:06:13 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 910 bytes |
コンパイル時間 | 381 ms |
コンパイル使用メモリ | 39,552 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2025-01-22 10:06:15 |
合計ジャッジ時間 | 1,498 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 20 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:25:8: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 25 | scanf("%lld%lld", &a, &b); | ~~~~~^~~~~~~~~~~~~~~~~~~~
ソースコード
/* -*- coding: utf-8 -*- * * 3003.cc: No.3003 螟夐・シ上・蜑イ繧顔ョ・縲徂ard縲・- yukicoder */ #include<cstdio> #include<algorithm> using namespace std; /* constant */ /* typedef */ using ll = long long; /* global variables */ /* subroutines */ /* main */ int main() { ll a, b; scanf("%lld%lld", &a, &b); b %= 3; ll u = 0, v = 0; if (b == 0) { // a=u(cost+isint)+v -> (u*cost+v-a)+u*isint=0 // -> u*cost+v-a=0, u*isint=0 // -> u=0,v=a u = 0, v = a; } else if (b == 1) { // a(cost+isint)=u(cost+isint)+v ->u*cost+v-a*cost+(u-a)isint=0 // -> u*cost+v-a*cost=0, u-a=0 // -> u=a, v=0 u = a, v = 0; } else { // a(cost-isint)=u(cost+isint)+v ->u*cost+v-a*cost+(u+a)isint=0 // -> u*cost+v-a*cost=0, u+a=0 // -> u=-a, v=2a*cost=-a (cost=-1/2) u = -a, v = -a; } printf("%lld %lld\n", u, v); return 0; }