結果
問題 | No.935 う し た ぷ に き あ く ん 笑 ビ - ム |
ユーザー |
![]() |
提出日時 | 2019-11-20 16:05:12 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,875 bytes |
コンパイル時間 | 1,154 ms |
コンパイル使用メモリ | 115,360 KB |
最終ジャッジ日時 | 2025-01-08 04:12:04 |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 2 |
other | WA * 58 |
コンパイルメッセージ
main.cpp: In function ‘void scans(std::string&)’: main.cpp:60:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 60 | scanf("%c", &c); | ~~~~~^~~~~~~~~~ main.cpp:61:28: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 61 | if (c == '\n')scanf("%c", &c);//最初の改行対策 | ~~~~~^~~~~~~~~~ main.cpp:64:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 64 | scanf("%c", &c); | ~~~~~^~~~~~~~~~ main.cpp: In function ‘void scanc(char&)’: main.cpp:70:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 70 | scanf("%c", &c); | ~~~~~^~~~~~~~~~ main.cpp:73:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 73 | scanf("%c", &c); | ~~~~~^~~~~~~~~~ main.cpp: In function ‘int main()’: main.cpp:87:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 87 | scanf("%d", &n); | ~~~~~^~~~~~~~~~ main.cpp:91:23: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 91 | rep(i, n)scanf("%llu", &a[i]); | ~~~~~^~~~~~~~~~~~~~~ main.cpp:94:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 94 | scanf("%d", &q); | ~~~~~^~~~~~~~~~ main.cpp:100:22: war
ソースコード
/* このコード、と~おれ! Be accepted! ∧_∧ (。・ω・。)つ━☆・*。 ⊂ ノ ・゜+. しーJ °。+ *´¨) .· ´¸.·*´¨) ¸.·*¨) (¸.·´ (¸.·'* ☆ */ #include <stdio.h> #include <algorithm> #include <string> #include <cmath> #include <cstring> #include <vector> #include <numeric> #include <iostream> #include <random> #include <map> #include <unordered_map> #include <queue> #pragma GCC optimize("Ofast") #define rep(i, n) for(int i = 0; i < (n); ++i) #define rep1(i, n) for(int i = 1; i <= (n); ++i) #define rep2(i, n) for(int i = 2; i < (n); ++i) #define repr(i, n) for(int i = n; i >= 0; --i) #define reprm(i, n) for(int i = n - 1; i >= 0; --i) #define printynl(a) printf(a ? "yes\n" : "no\n") #define printyn(a) printf(a ? "Yes\n" : "No\n") #define printYN(a) printf(a ? "YES\n" : "NO\n") #define printin(a) printf(a ? "possible\n" : "inposible\n") #define printdb(a) printf("%.50lf\n", a)//少数出力 #define printdbd(a) printf("%.16lf\n", a)//少数出力(桁少なめ) #define prints(s) printf("%s\n", s.c_str())//string出力 #define all(x) (x).begin(), (x).end() #define allsum(a, b, c) ((a + b) * c / 2)//等差数列の和、初項,末項,項数 #define pb push_back #define priq priority_queue #define rpriq priq<int, vector<int>, greater<int>> #define deg_to_rad(deg) (((deg)/360.0)*2.0*PI) #define rad_to_deg(rad) (((rad)/2.0/PI)*360.0) #define Please return #define AC 0 using ll = long long; const int INF = 1073741823; const int MINF = -1073741823; const ll LINF = ll(4661686018427387903); const ll MOD = 1000000007; const double PI = acos(-1); using namespace std; void scans(string& str) { char c; scanf("%c", &c); if (c == '\n')scanf("%c", &c);//最初の改行対策 while (c != '\n' && c != -1) { str += c; scanf("%c", &c); } } void scanc(char& str) { char c; scanf("%c", &c); if (c == -1)return; while (c == '\n') { scanf("%c", &c); } str = c; } double acot(double x) { return PI / 2 - atan(x); } /*-----------------------------------------ここからコード-----------------------------------------*/ int main(){ int n; scanf("%d", &n); string s; scans(s); vector<unsigned long long int> a(n); rep(i, n)scanf("%llu", &a[i]); int right = 0, left = 0; int q; scanf("%d", &q); int k; unsigned long long int sum = 0, enemy = 0, ans = MINF; rep(qq, q) { right = left = sum = enemy = 0; ans = MINF; scanf("%d", &k); for (left = 0; left < n; ++left) { while (right < n && sum + a[right] <= k) { sum += a[right]; enemy += (s[right] == 'E'); ++right; } ans = max(ans, enemy); if (right == left) { if (right != n - 1) { ++right; } } sum -= a[left]; enemy -= (s[left] == 'E'); } printf("%llu\n", ans); } Please AC; }