提出 #577347
ソースコード 拡げる
#include <cstring>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <queue>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric> //cout<<fixed<<setprecision(10);
//#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
//#include <memory.h>
#include <cassert>
#define SZ(X) ((int)(X).size())
#define ALL(X) (X).begin(), (X).end()
#define REP(I, A, B) for (int I = (A); I < (B); ++I)
#define RI(X) scanf("%d", &(X))
#define RII(X, Y) scanf("%d%d", &(X), &(Y))
#define RIII(X, Y, Z) scanf("%d%d%d", &(X), &(Y), &(Z))
#define DRI(X) int (X); scanf("%d", &X)
#define DRII(X, Y) int X, Y; scanf("%d%d", &X, &Y)
#define DRIII(X, Y, Z) int X, Y, Z; scanf("%d%d%d", &X, &Y, &Z)
#define RS(X) scanf("%s", (X))
#define CASET int ___T, case_n = 1; scanf("%d ", &___T); while (___T-- > 0)
#define MP make_pair
#define PB push_back
#define MS0(X) memset((X), 0, sizeof((X)))
#define MS1(X) memset((X), -1, sizeof((X)))
#define LEN(X) ((int)strlen(X))
#define F first
#define S second
#define IOS ios_base::sync_with_stdio(0)
#ifdef ONLINE_JUDGE
#define FILEIO(name) \
freopen(name".in", "r", stdin); \
freopen(name".out", "w", stdout);
#else
#define FILEIO(name)
#endif
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int,int> ii;
typedef pair<ll,ll> pll;
/*#include<complex>
typedef complex<double> cd;
#define X real()
#define Y imag()*/
char s[100100];
int v[100100];
vector<int> L,R;
int main()
{
DRI(n);
RS(s);
for(int i=n-1;i>=0;i--){
if(s[i]=='<')R.PB(i);
}
reverse(ALL(R));
int ri=0,rn=SZ(R),ln=0,ans=-1;
for(int i=0;i<n;i++){
//cout<<i<<':';
if(R[ri]==i)ri++;
if(i>0&&s[i-1]=='>'){
L.PB(i-1);
ln++;
}
if(s[i]=='>'){
if(rn-ri>ln){
//cout<<0<<' '<<R[ri+ln]<<endl;
ans=max(ans,R[ri+ln]-0+1);
}
else{
if(rn-ri==0)//cout<<i<<' '<<n-1<<endl;
ans=max(ans,n-1-i+1);
else //cout<<L[ln-(rn-ri)]<<' '<<n-1<<endl;
ans=max(ans,n-1-L[ln-(rn-ri)]+1);
}
}
else{
if(rn-ri<ln){
//cout<<L[ln-(rn-ri)-1]<<' '<<n-1<<endl;
ans=max(ans,n-1-L[ln-(rn-ri)-1]+1);
}
else{
if(ri+ln-1<0)//cout<<0<<' '<<i<<endl;
ans=max(ans,i-0+1);
else //cout<<0<<' '<<R[ri+ln-1]<<endl;
ans=max(ans,R[ri+ln-1]-0+1);
}
}
}
cout<<ans<<endl;
return 0;
}
提出情報
提出日時
2015-11-22 12:16:10+0900
問題
D - Line Gimmick
ユーザ
HDYTTO
言語
C++11 (GCC 4.8.1)
得点
100
コード長
2883 Byte
結果
AC
実行時間
39 ms
メモリ
1808 KiB
コンパイルエラー
./Main.cpp: In function ‘int main()’:
./Main.cpp:68:11: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
DRI(n);
^
./Main.cpp:69:10: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
RS(s);
^
ジャッジ結果
セット名
All
得点 / 配点
100 / 100
結果
セット名
テストケース
All
00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03, 10_simple_small_000, 10_simple_small_001, 10_simple_small_002, 10_simple_small_003, 10_simple_small_004, 11_simple_med_000, 11_simple_med_001, 11_simple_med_002, 11_simple_med_003, 11_simple_med_004, 12_simple_large_000, 12_simple_large_001, 12_simple_large_002, 12_simple_large_003, 12_simple_large_004, 21_answer_med_000, 21_answer_med_001, 21_answer_med_002, 21_answer_med_003, 21_answer_med_004, 22_answer_large_000, 22_answer_large_001, 22_answer_large_002, 22_answer_large_003, 22_answer_large_004
ケース名
結果
実行時間
メモリ
00_sample_00
AC
26 ms
1048 KiB
00_sample_01
AC
24 ms
1044 KiB
00_sample_02
AC
27 ms
1048 KiB
00_sample_03
AC
24 ms
1044 KiB
10_simple_small_000
AC
28 ms
1052 KiB
10_simple_small_001
AC
26 ms
1044 KiB
10_simple_small_002
AC
26 ms
1044 KiB
10_simple_small_003
AC
26 ms
1044 KiB
10_simple_small_004
AC
26 ms
1028 KiB
11_simple_med_000
AC
24 ms
1048 KiB
11_simple_med_001
AC
24 ms
1044 KiB
11_simple_med_002
AC
24 ms
1048 KiB
11_simple_med_003
AC
26 ms
1040 KiB
11_simple_med_004
AC
28 ms
1052 KiB
12_simple_large_000
AC
28 ms
1328 KiB
12_simple_large_001
AC
28 ms
1328 KiB
12_simple_large_002
AC
31 ms
1808 KiB
12_simple_large_003
AC
30 ms
1580 KiB
12_simple_large_004
AC
39 ms
1600 KiB
21_answer_med_000
AC
30 ms
1584 KiB
21_answer_med_001
AC
30 ms
1712 KiB
21_answer_med_002
AC
30 ms
1712 KiB
21_answer_med_003
AC
28 ms
1432 KiB
21_answer_med_004
AC
30 ms
1588 KiB
22_answer_large_000
AC
29 ms
1576 KiB
22_answer_large_001
AC
30 ms
1576 KiB
22_answer_large_002
AC
29 ms
1460 KiB
22_answer_large_003
AC
29 ms
1552 KiB
22_answer_large_004
AC
32 ms
1712 KiB